본문 바로가기
java&eclipse 코딩 알고리즘/20231201

PerfectNumber

by 몽상크리에이터 2023. 12. 13.

package k20231201;

 

import java.util.Scanner;

 

public class PerfectNumber {

 

public static void main(String[] args) {

 

Scanner scanner = new Scanner(System.in);

System.out.println("완전수인가 판달할 숫자를 입력하세요: ");

int number = scanner.nextInt();

 

// 약수 출력

for (int i = 1; i <= number; i++) {

int r = number % i;

if (r == 0) {

System.out.println(i);

}

}

System.out.println("==================================");

// 모든 숫자는 자기 자신을 제외하고 나눠서 떨어뜨릴 수 있는

// 가장 큰 수는 자신의 절반을 넘지 않는다

 

int sum = 0; // 자기 자신을 제외한 약수의 합계를 기억할 변수를 선언한다.

for (int i = 1; i <= number/2; i++) {

if (number % i == 0) {

// System.out.println(i);

sum += i; // 자기 자신을 제외한 약수의 합계

}

}

System.out.println("자신을 제외한 " + number + "의 약수 합계: " + sum);

 

// 완전수인가 판단한다

if (number == sum) {

System.out.println(number + "는(은) 완전수입니다");

} else {

System.out.println(number + "는(은) 완전수가 아닙니다");

}

 

최초 다섯 개의 완전수는 6, 28, 496, 8128, 33550336이다.

}

 

 

}

'java&eclipse 코딩 알고리즘 > 20231201' 카테고리의 다른 글

PerfectNumber2  (0) 2023.12.13
LottoTest  (0) 2023.12.13
ForTest  (0) 2023.12.13
DiceTest3  (0) 2023.12.13
DiceTest2  (0) 2023.12.13