반응형
자연수를 입력 받아서 입력받은 수 이하의 모든 자연수를 출력하시오.
완전수란 수론에서 완전수(完全數)는 자기 자신을 제외한 양의 약수를 더했을 때 자기 자신이 되는 양의 정수를 말한다. 또는 모든 양의 약수를 더했을때 자기 자신의 2배가 되는 수를 말하기도 한다. 최초 다섯 개의 완전수는 6, 28, 496, 8128, 33550336이다. 출처 - 위키백과 완전수 |
import java.util.Scanner;
public class blog{
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.printf("자연수를 입력하시오 : ");
int n= Integer.parseInt(sc.nextLine());
for(int i=1;i<=n;i++) { //지정한 숫자까지 모든 숫자를 반복 검사
int sum=0;
for(int j=1;j<i;j++) {
if(i%j==0) { // 약수를 필터링하는 과정
sum+=j; // 약수들을 더하는 과정
}
}
if(i==sum) { // 반복한 숫자 중 약수들만 출력
System.out.println(i);
}
}
}
}
반응형
'코딩공부 > JAVA' 카테고리의 다른 글
JAVA #9 : Files와 split을 이용해서 텍스트 파일의 단어 개수 세기 (0) | 2022.05.27 |
---|---|
JAVA #8 : 문자열 압축하기, toCharArray 사용하기 (0) | 2022.05.26 |
JAVA #6 : 10~1000까지 각 숫자 분해하여 곱하기의 전체 합 구하기 (1) | 2022.05.23 |
JAVA #5_2 : 구글 입사 문제; 1~10000 사이에 8의 개수를 구하시오 (0) | 2022.05.20 |
JAVA #5_1 : 구글 입사 문제; 1~10000 사이에 8의 개수를 구하시오 (0) | 2022.05.19 |