Hey,
I wrote a program by the help of Perfect number - Wikipedia to find all even perfect numbers up to 10000. What can I improve? Did I make any performance errors?
Code:
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool PrimeCheck(int number);
int main(void)
{
int number;
int p = 2;
bool stop = true;
do
{
if (PrimeCheck(pow(2, p) - 1))
{
number = pow(2, p - 1)*(pow(2, p) - 1);
if (number <= 10000)
{
printf("%d\n", number);
}
}
if (number >= 10000)
{
stop = false;
}
p++;
} while (stop);
return 0;
}
bool PrimeCheck(int number)
{
int i;
for (i=2; i<number; i++)
{
if (number%i == 0)
{
return false;
}
}
return true;
}