코린이의 소소한 공부노트

[LeetCode/Easy] 507. Perfect Number 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 507. Perfect Number

무지맘 2022. 12. 1. 23:50

1. Input

1) 정수 n

 

2. Output

1) n이 완전수라면 true, 아니면 false 반환

2) 완전수란 자기 자신을 제외한 양의 약수들의 합이 자신과 같은 수를 말한다.

 

3. Constraint

1) 1 <= num <= 10^8

 

4. Example

Input: n=28 -> Output: true

설명: 28을 제외한 28의 양의 약수는 1, 2, 4, 7, 14이고, 이 수들의 합은 28이므로 28은 완전수다.

 

5. Code

1) 첫 코드(2022/07/24)

if(num==1)
    return false;

int sum = 1;
int n = num;
for(int i=2 ; i<n ; i++)
    if(num%i==0){
        n = num/i;
        sum += n;
        sum += i;
    }
    
if(sum==num)
    return true;
else
    return false;