자연수를 입력 받아서 입력받은 수 이하의 모든 자연수를 출력하시오.
완전수란 수론에서 완전수(完全數)는 자기 자신을 제외한 양의 약수를 더했을 때 자기 자신이 되는 양의 정수를 말한다. 또는 모든 양의 약수를 더했을때 자기 자신의 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 |