C_C++

(C언어) 완전수 구하기 (perfect number)

고니자니 2022. 11. 9. 20:18
반응형

완전수(perfect number)

자기 자신을 제외한 약수의 합이 자기 자신과 같은 수이다.

예를 들어, 6의 약수는 1,2,3이며, 이 수를 합하면 6이므로 6은 완전수이다.

 

[문제] 2부터 1000까지의 수 중에서 완전수를 찾아서 출력하시오.

6  28  496

 

C언어

#include <stdio.h>
int perfect_number(int n) 
{
    int i, sum = 0;

    for (i = 1; i <= n / 2; i++)
    {
        if (n % i == 0)   // n이 i로 나누어 떨어지면 약수이다.
            sum += i;
    }
    if (n == sum) return 1;
    return 0;
}

int main()
{
    int i;
    for (i = 2; i <= 1000; i++) 
    { 
        if (perfect_number(i)) 
            printf("%d ", i); 
    }
    printf("\n");

    return 0;
}

완전수 구하기

 


파이썬, 완전수 구하기

https://gonyzany.tistory.com/694

 

(파이썬) 완전수 구하기

완전수는 자신을 제외한 약수의 합이 자신과 같은 수를 의미합니다. 예를 들어, 6은 1, 2, 3의 약수를 가지며, 이 약수들의 합(1+2+3)이 6이므로 6은 완전수입니다.파이썬을 이용하여 특정 범위 내의

gonyzany.tistory.com

 

반응형