*Dizemos que um número inteiro é um número perfeito se a soma de seus fatores,
incluindo 1( mas não o próprio número), é igual ao número. Por exemplo, 6 é um
número perfeito porque 6 = 1 + 2 + 3. Escreva um método que determina se um
determinado número é um número perfeito.
*A série de Fibonacci inicia com 0 e 1 e tem a propriedade de que cada número de
Fibonacci subseqüente é a soma dos dois números que o precedem. Escreva um
método implemente esta série de forma recursiva.
A série de Fibonacci pode ser definida recursivamente como segue:
fibonacci(0) = 0
fibonacci(1) = 1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
Sempre que for postar algo aqui ou em outro fórum, evite usar termos “genéricos”, como “HELP-ME”, “AJUDA!”, “DÚVIDA” etc.
Procure ser mais objetivo. Escreva O QUE DE FATO ESTÁ ACONTECENDO, SINTETIZANDO.
Agindo assim as chances de ter suas dúvidas respondidas será maior
D
dsfextreme
Samilu:
Alguém pode me arrumar o código dessas questões:
*Dizemos que um número inteiro é um número perfeito se a soma de seus fatores,
incluindo 1( mas não o próprio número), é igual ao número. Por exemplo, 6 é um
número perfeito porque 6 = 1 + 2 + 3. Escreva um método que determina se um
determinado número é um número perfeito.
*A série de Fibonacci inicia com 0 e 1 e tem a propriedade de que cada número de
Fibonacci subseqüente é a soma dos dois números que o precedem. Escreva um
método implemente esta série de forma recursiva.
A série de Fibonacci pode ser definida recursivamente como segue:
fibonacci(0) = 0
fibonacci(1) = 1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
Verifica se número é perfeito
/*-----------------------------------------------------------------------*/
/* Verifica se número é perfeito - algoritmo eficiente. */
/*-----------------------------------------------------------------------*/
public static boolean perfeito2(long numero) {
long soma,i;
double raiz = Math.sqrt(numero); /* Limite para o divisor */
soma = 1; /* 1 divide qualquer número */
for (i=2; i < raiz; ++i) /* Até antes da raiz quadrada */
if (numero % i == 0) /* Se divide número */
soma += i + numero/i; /* Soma divisor e quociente */
if (raiz == (int) raiz) /* Se raiz for inteira, ela */
soma += (int) raiz; /* precisa ser somada */
return numero == soma; /* True ou false */
}
Dá uma pesquisada no Google e no wikipedia q tem esses códigos fontes prontos… tome cuidado aki no forum o pessoal normalmente nao curte fazer o dever de casa dos outros, tente fazer, conforme for dando erros ou duvidas vc vai postando q o pessoal responde.
não é que o pessoal não curti fazer o dever de casa dos outros, é que isso é trabalho DELE, o mínimo que a pessoa devia fazer era tentar fazer e não ir direto para um forum com lição de casa dele…
mas eu não reclamo, afinal pra mim é otimo que ele não aprenda a programar… é um a menos no mercado de trabalho
C
cv1
Vc so nao levou em conta o desperdicio de vida, dinheiro e tempo de todo mundo envolvido: familia, professores, quem poderia estar ocupando uma vaga em qualquer que seja o curso que o nosso amigo espertao ta fazendo…
S
s4ndro
importjava.util.Scanner;publicclassexercicio12{/** * @param args */publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);System.out.print("digite um numero inteiro: ");inti=s.nextInt();// le um inteirointnperfeito=0;booleanPrimo=true;for(inta=2;a<i;a++){if(i%a==0){Primo=false;break;}elseif(i%a!=0){Primo=true;nperfeito=(int)(Math.pow(2,i)-1*Math.pow(2,i)-1);// Notando que 2n − 1 é um número primo em cada uma destas instâncias, // Euclides provou que a fórmula 2n−1(2n − 1) dá um número perfeito para// sempre que 2n − 1 é primo (Euclides, Prop. IX.36).break;}}if(nperfeito>=0){System.out.println("O numero "+i+" é numero perfeito ");}if(Primo==true){System.out.println("O numero "+i+" é numero primo ");}elseif(Primo==false)System.out.println("O numero "+i+" não é um numero primo ");}}