package k20231201;

public class PerfectNumber2 {
public static void main(String[] args) {
// 4부터 10000 사이의 완전수를 찾아내 나열하라
int lm = 0; // 완전수의 개수를 기억할 변수
for (int n = 4; n<=10000; n++) { // 완전수인가 판단할 숫자
int sum = 0; // sum 변수 = 자기 자신을 제외한 약수의 합
for (int i = 1; i<=n/2; i++) {
if(n % i == 0 ) { // i가 n의 약수인가?
sum += i; //그렇다면 n의 약수 합계를 계산한다
}
}
// 완전수인가 판단한다
if (n == sum) { // n이 완전수인가?
lm++; // 완전수의 개수를 1증가 시킨다.
System.out.printf("%d번째 완전수 => %4d\n", lm, n);
}
}
System.out.println("4 ~ 10000 사이의 완전수는 " + lm + "개 입니다.");
}
}
'java&eclipse 코딩 알고리즘 > 20231201' 카테고리의 다른 글
| PerfectNumber (0) | 2023.12.13 |
|---|---|
| LottoTest (0) | 2023.12.13 |
| ForTest (0) | 2023.12.13 |
| DiceTest3 (0) | 2023.12.13 |
| DiceTest2 (0) | 2023.12.13 |