Código de programas

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)

Olá, tudo bem?

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 :wink:

[quote=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)[/quote]

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 */ }

Fibonacci
:arrow:http://www.guj.com.br/java.tutorial.artigo.132.1.guj

Um Abraço !

[size=18][/size]Tem esse codigo que eu criei que é bastante simples tb.

public String Perfeito(long numeroPerf){
int aux=0;
for (int i=1 ;i<numeroPerf;i++){
if (numeroPerf % i==0){
aux=i+aux;
}
}
if (aux==numeroPerf){
return “é Perfeito!”;
}else
return “não é Perfeito!”;
}>

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.

Dá uma olhada aki tbm no busca do GUJ

http://www.guj.com.br/posts/list/44681.java
http://www.guj.com.br/posts/list/40444.java#215684

Aki tbm tem :
http://www.linhadecodigo.com.br/dicas.asp?id_dica=1165&sub=17
http://q.sitelevelsearch.com/query-ask.go?crid=4b4bcad34d12aeab&query=Fibonacci&slice_title=&page=1&sp=1
:smiley:

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 :slight_smile:

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…

[code]import java.util.Scanner;

public class exercicio12 {

/**
 * @param args
 */
public static void main(String[] args) {
	
	
	Scanner s = new Scanner(System.in);
	
	System.out.print("digite um numero inteiro: ");
	int i = s.nextInt(); // le um inteiro
	
	int nperfeito = 0;
	boolean Primo = true;
	
	for (int a = 2 ; a < i ; a++ ) {
									
			if (i % a == 0) {
						
				Primo = false;
				
				break;
				
			}else if (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 ");

	}else if (Primo == false)
		
	System.out.println("O numero " + i + " não é um numero primo ");

 }

}
[/code]