반응형
#include <stdio.h>
void main() {
int i, j, s, el = 0;
for (i = 6; i <= 30; i++) {
s = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
s += j;
}
}
if (s == i) {
el++;
}
}
printf("%d\n", el);
}
이 코드는 범위 6부터 30까지 완전수(perfect number)를 찾아내고, 그 개수를 출력합니다. 완전수란 자기 자신을 제외한 약수들의 합이 자신과 같은 수를 말합니다. 예를 들어, 6의 경우 1, 2, 3이 약수이며, 이 약수들의 합은 6이므로 6은 완전수입니다.
코드의 실행 과정은 다음과 같습니다:
1. 범위 6부터 30까지 각 수에 대해,
2. 해당 수의 절반까지를 반복하면서,
3. 만약 현재 수가 반복 변수로 나누어떨어진다면(즉, 약수라면),
4. 그 약수를 합에 더합니다.
5. 마지막으로, 그 합이 처음의 수와 같다면 완전수로 간주하고 `el`을 1 증가시킵니다.
범위 6부터 30까지에서 완전수는 다음과 같습니다:
- 6: 1 + 2 + 3 = 6
- 28: 1 + 2 + 4 + 7 + 14 = 28
따라서, 이 범위 내에는 두 개의 완전수가 있으므로, 프로그램은 `el` 값으로 2를 출력할 것입니다. 이 결과는 완전수의 정의와 주어진 범위에 따른 것입니다.
(GPT-4 답변)
반응형
'Certificate > 정보처리기사 실기' 카테고리의 다른 글
[개념] 애자일(Agile) (0) | 2024.04.04 |
---|---|
2023년 3회 기출 08 - C언어 (0) | 2024.04.03 |
2023년 3회 기출 04 - C언어 (0) | 2024.04.03 |
2022년 3회 기출 01 - C언어 (0) | 2024.03.27 |
정보처리기사 실기 접수 완료~접수 느므히미드네 (0) | 2024.03.26 |