Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 15655
  • 백준 6550
  • 백준
  • 백준 3049
  • 백준 1747
  • 백준 2343
  • 백준 7567
  • 백준 2225
  • 자바
  • 백준 1914
  • 백준 24039
  • 백준 3135
  • 백준 10709
  • 백준 1064
  • 백준 15961
  • 백준 7662
  • 백준 1011
  • 백준 2467
  • 백준 4659
  • Java
  • 백준 15312
  • 백준 14582
  • 백준 1531
  • 백준 2591
  • 백준 16926
  • 백준 12871
  • 백준 1495
  • 백준 12605
  • 백준 16194
  • 백준 8892
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 9506 약수들의 합(Java)
백준

백준 9506 약수들의 합(Java)

2023. 1. 17. 02:22

https://www.acmicpc.net/problem/9506

 

9506번: 약수들의 합

어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.  예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

www.acmicpc.net


 

해석 및 팁

 


 

꼼수이지만 쉽게 풀수 있는 방법이 있습니다. 문제에서는 완전수 일때 약수들의 합으로 출력하고 아닌경우에는 n is NOT perfect. 를 출력하라고 합니다. 이때 완전수의 100,000까지의 완전수는 6, 28, 496, 8128 만존재합니다. 따라서 4개의 수를 제외하면 n is NOT perfect.를 출력하면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    while(true) {
      int n = sc.nextInt();
      if(n == -1) break;
      else if(n == 6) System.out.println("6 = 1 + 2 + 3");
      else if(n == 28) System.out.println("28 = 1 + 2 + 4 + 7 + 14");
      else if(n == 496) System.out.println("496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248");
      else if(n == 8128) System.out.println("8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064");
      else System.out.println(n+" is NOT perfect.");
    }

  }
}

'백준' 카테고리의 다른 글

백준 1145 적어도 대부분의 배수(Java)  (0) 2023.01.17
백준 11557 Yangjojang of The Year(Java)  (0) 2023.01.17
백준 2846 오르막길(Java)  (0) 2023.01.17
백준 10448 유레카 이론(Java)  (0) 2023.01.17
백준 2669 직사각형 네개의 합집합의 면적 구하기(Java)  (0) 2023.01.16
    '백준' 카테고리의 다른 글
    • 백준 1145 적어도 대부분의 배수(Java)
    • 백준 11557 Yangjojang of The Year(Java)
    • 백준 2846 오르막길(Java)
    • 백준 10448 유레카 이론(Java)
    Park DJ
    Park DJ

    티스토리툴바