Sendo H = 1 + ½ +1/3 + ¼ + ... + 1/N, faça um algoritmo para
calcular H, sendo que N é digitado pelo usuário
tipo consegui chegar ate a parte que faz o loop com o valor dado pelo usuário mas aii eu travei como poderia terminar;
importjava.util.Scanner;publicclassalgoritmo{publicstaticvoidmain(String[]args){Scannerx=newScanner(System.in);System.out.println("informe o valor de N alogoritmos");Stringn=x.nextLine();doublenn=Double.parseDouble(n);doublef=1;while(f<=nn){System.out.println(f);f++;}}}
Para facilitar seu raciocínio, veja que o seu problema é equivalente a este aqui:
H = 1/1 + 1/2 +1/3 + 1/4 + … + 1/N
Viu como fica mais fácil resolver?
ThiagoRafael
entanglement obrigado pela sua ajuda
era so eu criar mais uma doube com um resultado 1 e na hora de imprimir eu coloco esse valor do double sobre os valores de n,
mas como eu poderia fazer os resultados somarem
publicclassalgoritmo{publicstaticvoidmain(String[]args){Scannerx=newScanner(System.in);System.out.println("informe o valor de N alogoritmos");Stringn=x.nextLine();doublenn=Double.parseDouble(n);doubley=1;doublef=1;while(f<=nn){System.out.println(y/f);f++;}}}
pmlm
Ha uma tecla aí no teclado, com o sinal de +
Agora a sério, como farias se fosse para somar todos os números de 1 até n?
E
entanglement
Não vou resolver seu problema, mas vou dar um exemplo de como se somam os números de 1 a 100. Lendo o meu código você pode entender o que deve ser feito
intsoma=0;for(inti=1; i <= 100; ++i) {soma=soma+i;
}
freakazoid
Tbm não vou resolver o seu problema, porem basicamente o mais complicado do seu problema é fazer a soma das frações
uma vez que temos denominadores diferentes. Isso me lembra um carinha chamado MMC…
Alguem pode me explicar porque não esta somando já tentei ate com o if e com o while mas acontece a mesma coisa :!::idea:
[code]import java.util.Scanner;
/**Sendo H = 1 + ½ +1/3 + ¼ + ... + 1/N, faça um algoritmo para
*calcular H, sendo que N é digitado pelo usuário;
*
*/
public class algoritmo{
public static void main(String []args){
Scanner x = new Scanner(System.in);
System.out.println("informe o valor de N alogoritmos");
String n = x.nextLine();
double nn = Double.parseDouble(n);
double y = 1;
double f = 2;
while(f<=nn){
double k = y/f;
for(double a=0; a<=k; a++){
double o = a+k;
System.out.println(o);
}
f++;
}
}
}
igor_ks
o seu problema está na lógica de programação…
Como vc faria para somar 1/2 + 1/3 no papel?
Passe isso para código
ThiagoRafael
igor_ks:
o seu problema está na lógica de programação…
Como vc faria para somar 1/2 + 1/3 no papel?
Passe isso para código
é tiraria o mmc mais ia dar muita volta então eu pensei em dividir primeiro e depois somar,
e assim eu fiz no código soque quando ta na hora de soma os valores de k num vai aparece so a divisao
freakazoid
ThiagoRafael:
igor_ks:
o seu problema está na lógica de programação…
Como vc faria para somar 1/2 + 1/3 no papel?
Passe isso para código
é tiraria o mmc mais ia dar muita volta então eu pensei em dividir primeiro e depois somar,
e assim eu fiz no código soque quando ta na hora de soma os valores de k num vai aparece so a divisao
Vou te dar uma luz. Segue um exemplo fazendo a divisão e depois a soma (solução preguiçosa):
Scannerx=newScanner(System.in);System.out.println("informe o valor de N alogoritmos");Stringn=x.nextLine();doublenn=Double.parseDouble(n);doubleaux=nn;doublesoma=1.0;while(aux>1){soma=soma+(1/aux);aux--;}System.out.println("o valor de H é: "+soma);}
Como já falei no começo o mais complicado é o MMC. Tente implementá-lo e se não conseguir poste o código aqui para que possamos ajudá-lo. Faça um método apenas para calcular o MMC e depois integre as coisas.
ThiagoRafael
antes de começar a criar o código porque tenho que criar “public static int MinimoMultiplo(int a, int b)”
e criar o public static void main… sendo que pelo que entendi eles irão fazer a mesma coisa