본문 바로가기
자바 문법

자바 완전수 판별기

by Nickman 2024. 4. 12.

https://www.codetree.ai/missions/4/problems/perfect-number-discriminator?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 완전수는 자기 자신을 제외한 양의 약수를 더했을 때 자기 자신이 되는 양의 정수이다.

6에서 자기 자신을 제외한 양의 약수를 더하면 1+2+3 으로, 완전수이다.

또는 모든 양 약수를 더했을 때 자기 자신의 2배가 되는 수를 말하기도 한다.  

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 여기에 코드를 작성해주세요.
        Scanner sc=new Scanner(System.in);
        int sum=0;
        int n=sc.nextInt();
        for(int i=1; i<n; i++){
            if(n%i==0){
                sum+=i;
            }
        }
        if(sum==n){
            System.out.print("P");
        }else{
            System.out.print("N");
        }
        
    }
}

//주어진 부터 1씩 감소하여 1까지 나누었을 때
//나머지가 0인 경우 그 수는 주어진 수의 약수이다.
//그러므로 약수의 총합이 주어진 수가 되면 그 수 n은 완전수이다.