Recursividade RESOLVIDO

5 respostas
van_bommel

Opaa…

Estou com problema na lógica da soma de quadrados .

/* Exercício 3: Soma de quadrados.
    * Alguns procedimentos com loops são muito fáceis de se adaptar
    * para recursividade. Crie um método capaz de calcular a soma
    * dos n primeiros quadrados perfeitos, usando recursividade.
    * 
    * Para facilitar, é dado um método que faz o mesmo, usando loop.
    */
   
       int somaQ (int n) {
         int i, s = 0;
         for (i = 1; i <= n; i++)
            s += i * i;
         return s;
      }
     
   Meu problema está aqui  , não  estou conseguindo resolver  o problema  usando recursividade 
       int somaQr ( int n  ) {
      	
        
         if (n  >= 0 ){
            return n ;
         }
         else 
        
         return  somaQr(n-1)*somaQr(n);
      
      }

5 Respostas

pedroroxd
Eu faria assim:
public class QuadradoPerfeito {

	public static void main(String[] args) {
		System.out.println("Digite um número");
                int num = new Scanner(System.in).nextInt();		
		calcula(num);	
	}
	
	private static void calcula(int num) {
		int soma = 0;
		for (int i=1; i<=num; i++) {
			soma += i*i;	
		}
		System.out.println("A soma é " + soma);
	}

}
van_bommel
mas do jeito que vc fez num é recursivo .

consegui fazer óo..

  int somaQr ( int n  ) {
         
         if ( n < 1 )
            return 0 ;
         
         else {
         
            return n * n + somaQr(n-1);
         }
                
      
             
         
      
      }
pedroroxd

Isso se eu entendi certo…
Tipo…

1² = 1
2² = 4
3² = 9
4² = 16
5² = 25
6² = 36
7² = 49
8² = 64
9² = 81
10² = 100

Então se o usuário digita 10, a saída é 385 (100+81+64+49+36+25+16+9+4+1)

pedroroxd

A tá!
Entendi o que vc queria agora…
Legal usando a recursividade… não é realmente necessária, mas num exercício é bom pra quebrar 1 pouco a cabeça

van_bommel

professor que pediu recursivo.–"

Criado 21 de abril de 2010
Ultima resposta 21 de abr. de 2010
Respostas 5
Participantes 2