본문 바로가기
알고리즘/문제

[백준] 14563. 완전수 <C++>

by 코드 이야기 2020. 4. 14.
728x90

www.acmicpc.net/problem/14563

 

14563번: 완전수

어떠한 자연수 N에 대해서 N을 제외한 약수(진약수)의 합이 N이 되는 자연수를 완전수라고 한다. 예를 들어, 6의 약수는 1, 2, 3, 6인데 1+2+3은 6이기 때문에 완전수이다. 또 진약수의 합이 자기 자신

www.acmicpc.net

 

 

#include <iostream>
using namespace std;

int main() {
  int t, n, sum=0;
  
  cin>>t;

  for(int i=0; i<t; i++)
  {
    cin>>n;
    for(int j=1; j<n; j++) //1부터 자신을 제외한 숫자까지 반복
    {
      if(n%j==0)  // 약수이면 누적합을 구한다
        sum+=j;
    }
    if(sum==n)
      cout<<"Perfect\n";
    else if(sum>n)
      cout<<"Abundant\n";
    else 
      cout<<"Deficient\n";

    sum=0;  //초기화**
  }
}
728x90

댓글