완전수
2024. 3. 12. 17:28ㆍ정보처리,전산/코딩 : 문제해결
반응형
자신을 제외한 모든 양의 약수의 합이 자기 자신과 같은 수
test 함수는 주어진 숫자 n이 완전수인지 확인
- sum 변수를 초기화
- 1부터 n의 절반까지 반복 n을 각 숫자로 나눈 나머지가 0인 경우에만 해당 숫자를 sum에 더함 이 과정을 통해 n의 약수들을 찾는다.
- 반복이 끝나면 sum과 n이 같은지 확인하여 완전수인지를 판단
만약 같다면 1을 반환하고, 아니라면 0을 반환
main 함수에서는 2부터 100까지의 숫자를 반복하면서 test 함수를 호출하여 완전수인지 확인
- 만약 test 함수가 1을 반환하면, 해당 숫자를 sum에 더함
- 반복이 끝나면 sum을 출력
2부터 100까지의 숫자 중 완전수들의 합을 출력
#include <stdio.h>
int test(int n) {
int i, sum = 0;
for (i = 1; i <= n / 2; i++){
if (n % i == 0)
sum += i;
}
if (n == sum)
return 1;
return 0;
}
int main(){
int i, sum=0;
for (i = 2; i <= 100; i++){
if (test(i))
sum += i;
}
printf("%d ", sum);
return 0;
}
반응형
'정보처리,전산 > 코딩 : 문제해결' 카테고리의 다른 글
원형 큐 circular queue (0) | 2024.04.10 |
---|---|
재귀 함수를 사용하여 팩토리얼 을 계산 (0) | 2024.03.12 |
java. 상속과 생성자 호출에 관한 문법 (0) | 2024.03.01 |
자연수 N까지 합의 제곱과 제곱의 합의 차이 (0) | 2023.12.31 |
완전수 perfect number (0) | 2023.12.28 |