これをコーディングしようとしましたが、実行できません。私のコードで何が問題なのかを確認するのを手伝ってください。私が望む結果、例:
The List of Perfect Number
Give me the lastest number(start from 1): 100
6 28
これは、ポインターを使用するCプログラムです。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, x, n, *sum;
printf("The List of Perfect Number\n");
printf("Give me the lastest number(start from 1): ");
scanf("%d", &n);
sum = (int *) malloc(sizeof(int));
*sum = 0;
for(x=1;x<=n;x++)
{
for(i=1; i<x; i++)
{
if(x%i == 0)
{
*sum+=i;
}
}
if(*sum == x)
printf("%d", x);
free(sum);
return 0;
}
}