#include <stdio.h>
int main()
{
int yak[20];
int i, j, number, sum = 0;
for (number = 2; number <= 10000; number++)
{
j = 1;
//약수로 만들기
for (i = 1; i <= number; i++)
{
if (number % i == 0)
{
yak[j] = i;
j++;
}
}
//완전수 판정
for (i = 1; i < j - 1; i++)
{
sum += yak[i];
}
if (sum == yak[j - 1])
{
printf("%d ", yak[j - 1]);
for (i = 1; i < j - 1; i++)
{
if (i == 1)
printf("= ");
else
printf("+ ");
printf("%d ", yak[i]);
}
printf("\n");
}
}
}
이놈입니다!
일단 설명하자면 완전수를 구한다음에 출력하는 프로그램입니다.
출력하면 6 = 1 + 2 + 3 하고 줄바꿔서 다음 완전수 출력하고 이런 식입니다.
이게 number를 입력받아서 할 때는 괜찮았는데
for문으로 1~10000까지 돌리기 하니까 중단이 뜨네요... 빌드는 잘됩니다.
제가 여기서 잘못 코딩한게 있는건가요? 아님 10000까지 무식하게 때려박아서 안되는건가요 ㅠㅠ