Dunque mi si chiede di costruire un programma in grado di poter verificare se un numero immesso sia perfetto...io ho interpretato l'equazione di euclide in questo senso..ma..non ci siamo...comunque:
#include <stdio.h>
#include <conio.h>
int integerPower(int);
main()
{
int numero, risposta;
printf("Inserisci il numero da controllare se perfetto: ");
scanf("%d", &numero);
risposta = integerPower(numero);
if(risposta == 1){
printf("\n\nIl numero %d e' perfetto!", numero);
}
getch();
}
int integerPower(int verificare){
int counter, ciclo1, ciclo2, euclide, i, y;
counter = 0;
while(counter = 0){
i = 1;
y = 1;
ciclo1 = 1;
while(i <= y){
ciclo1 *= 2;
i++;
}
ciclo2 = 2;
while(i <= y){
ciclo2 *= 2;
i++;
}
euclide = ciclo1 * (ciclo2 - 1);
if(euclide == verificare){
counter = 1;
}
else
{
counter = 0;
i++;
y++;
}
}
return 1;
}
ovviamente ad ogni riavvio del ciclo counter, tutto ritorna come dopo il primo ciclo...non so..come modificare sta cosa...