프로그래밍 언어 활용난도 중
4번 · 주관식 · 5점
다음 C 프로그램은 2부터 30까지 자연수 중 진약수의 합이 자기 자신과 같은 수를 찾아 모두 더한다. 출력되는 정수를 쓰시오.
#include <stdio.h>
int proper_sum(int value) {
int sum = 1;
for (int divisor = 2; divisor * divisor <= value; divisor++) {
if (value % divisor == 0) {
sum += divisor;
if (divisor != value / divisor) {
sum += value / divisor;
}
}
}
return sum;
}
int main(void) {
int total = 0;
for (int value = 2; value <= 30; value++) {
if (proper_sum(value) == value) {
total += value;
}
}
printf("%d", total);
return 0;
}