eu tentei o calculo e achei deve erro calculo… veja os comando e resultado em baixo
o livro “Java - como programar 8 edição” exercícios 4.37 - B.
4.37-B) Escreva um aplicativo que estima o valor da constante matemática a fórmula a seguir. Permita inserir o número de termos a calcular.
mais ou menos exemplo esse imagem em baixo…
Comando java
importjava.util.Scanner;publicclassPag118Cap437A{publicstaticvoidmain(String[]args){Scannersca=newScanner(System.in);System.out.println("Inserir um número constante: ");intfat=sca.nextInt();inte=1;intcont=1;while(cont<=fat){e=1+1/cont;System.out.println(e);cont++;}}}
O resultado fica esse
Inserirumnúmeroconstante:521111
será esse calculo correto?
já tinha esquecido sobre matemática…
Não se deve fazer contas com int. Faça com double. Troque as declarações das variáveis ‘fat’ e ‘e’.
matheuslmota
Cara, lah no final do loop tu tem que colocar count = count*(count + 1);
Da forma que tah, teu valor de “e” vai ser 1 + 1/2 + 1/3 + 1/4+ … + 1/n,
Mas da forma que eu disse, o valor serah 1 + 1/2 + 1/6 + 1/24 + … 1/n!.
e nao esqueca de mudar os numeros para double.
espero ter ajudado.
Abraço.
renamed
jsnpereira:
eu tentei o calculo e achei deve erro calculo… veja os comando e resultado em baixo
o livro “Java - como programar 8 edição” exercícios 4.37 - B.
4.37-B) Escreva um aplicativo que estima o valor da constante matemática a fórmula a seguir. Permita inserir o número de termos a calcular.
mais ou menos exemplo esse imagem em baixo…
Comando java
importjava.util.Scanner;publicclassPag118Cap437A{publicstaticvoidmain(String[]args){Scannersca=newScanner(System.in);System.out.println("Inserir um número constante: ");intfat=sca.nextInt();inte=1;intcont=1;while(cont<=fat){e=1+1/cont;System.out.println(e);cont++;}}}
O resultado fica esse
Inserirumnúmeroconstante:521111
será esse calculo correto?
já tinha esquecido sobre matemática…
Espero que me ajude…
O problema está na lógica… principalmente nessa linha…
e=1+1/cont;
Você não está acumulando o resultado em “e”, só o está substituindo. Mais, você não está dividindo “1” pelo fatorial do número.
Tente fazer algo assim:
e+=1/fatorial(cont);
Tem ideia de como fazer isso?
ViniGodoy
Ao postar tópicos (ou o título do tópico), por favor, desligue o caps lock.
jsnpereira
matheuslmota:
Cara, lah no final do loop tu tem que colocar count = count*(count + 1);
Da forma que tah, teu valor de “e” vai ser 1 + 1/2 + 1/3 + 1/4+ … + 1/n,
Mas da forma que eu disse, o valor serah 1 + 1/2 + 1/6 + 1/24 + … 1/n!.
e nao esqueca de mudar os numeros para double.
espero ter ajudado.
Abraço.
eu testei esse programa… veja em baixo…
importjava.util.Scanner;publicclassPag118Cap437A{publicstaticvoidmain(String[]args){Scannersca=newScanner(System.in);System.out.println("Inserir um número constante: ");doublefat=sca.nextInt();System.out.println();intcount=1;while(count<=fat){count=count*(count+1);System.out.println(count);}}}
o resultado fica esse
Inserirumnúmeroconstante:10026421806
será esse calculo está correto? estou pouco meio complicado esse tipo fatorial…