Let d(n) be defined as the sum of proper divisors of
If d(a) =
For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.
Evaluate the sum of all the amicable numbers under 10000.
int amicable(int num);
int main()
{
clock_t te,ts;
ts=clock();
int answer=0,temp;
int d[10000];
for (int i = 1; i <=10000; i++)
{
d[i] = amicable(i);
}
for (i = 2; i <= 10000; i++)
{
temp = d[i];
if (temp > i && d[i] <= 10000 && d[temp] == i)
{
printf("%d,%d\n",i,d[i]);
answer=answer+i + d[i];
}
}
printf("answer: %d",answer);
te=clock();
printf("\ntime difference: %dms\n",te-ts);
return 0;
}
int main()
{
}
int amicable(int num)
{
int count = 0;
for (int i = 1; i < num; i++)
{
if (num%i == 0)
{
count+=i;
}
}
return count;
}
{
}