Boa tarde
Eu estou a fazer um programa que conta os numeros perfeitos até um determinado numero
um numero perfeito é aquele em que a soma dos seus divisores dão um resultado igual ao proprio numero, por exempo 6= 3+2+1 em que o 1,2, 3 são os divisores de 6.
Eo programa que escrevi só conta um numero perfeito até 30, ou seja introduzo o 30 e só retorna um numero perfeito ( o 6 creio eu), e devia retor nar dois numeros perfeitos ( o 6 e o 28)
O meu código é o seguinte:
static int perfectNumbersUpTo (int t)
{
int b=0;
int g =sumDivisors(b);
int f=0;
int d=0;
while (f<t)
{
if (g==f)
{
d=d+1;
f=f+1;
}
else
{
f=f+2;
}
}
return d;
}
ps:este programa corre num ambiente no aguiaj que é um plug in do eclipse desenvolvido na minha faculdade, por isso a sintaxe pode não ser bem a que vocês estão habituados, mas seja como for gostava que me ajudassem com o algoritmo.
Eu estou a fazer um programa que conta os numeros perfeitos até um determinado numero
um numero perfeito é aquele em que a soma dos seus divisores dão um resultado igual ao proprio numero, por exempo 6= 3+2+1 em que o 1,2, 3 são os divisores de 6.
Eo programa que escrevi só conta um numero perfeito até 30, ou seja introduzo o 30 e só retorna um numero perfeito ( o 6 creio eu), e devia retor nar dois numeros perfeitos ( o 6 e o 28)
O meu código é o seguinte:
static int perfectNumbersUpTo (int t)
{
int b=0;
int g =sumDivisors(b);
int f=0;
int d=0;
while (f<t)
{
if (g==f)
{
d=d+1;
f=f+1;
}
else
{
f=f+2;
}
}
return d;
}
ps:este programa corre num ambiente no aguiaj que é um plug in do eclipse desenvolvido na minha faculdade, por isso a sintaxe pode não ser bem a que vocês estão habituados, mas seja como for gostava que me ajudassem com o algoritmo.