완전수 구하기⭐⭐

김호성👨🏽‍💻·2021년 10월 12일
0

알고리즘 문제

목록 보기
4/6
post-thumbnail

문제 : 완전수 구하기

완전수란 : 약수의 합의 내 자신과 같을때
Ex: 6은 완전수(1,2,3,6) → 1+2+3의 합이 6과 같기 때문

import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String input = br.readLine();
		
		String[] num = input.split(" ");
		
		int start = Integer.valueOf(num[0]);
		int end = Integer.valueOf(num[1]);
		
			
			int sum=0;
			for(int i=start; i<=end; i++) {
					for(int j=1; j<i; j++) {
							//약수를 구하기
							if(i%j==0) {
									//약수를 sum에 모두 더하기
									sum = sum + j;
							}
					}
					if(sum==i) {
							System.out.print(i + " ");
					}
					sum=0;
			}
	}
}
  • 먼저 입력받은수를 " "공백으로 분리후 숫자로 변경 시켜줌 그 이후 그 값만큼 반복문
  • 큰 수, 작은수 로 나누어 나누어 지면 약수이기 때문에 더해주고 그 합이 큰수(내자신)과 같으면 완전수이기 때문에 출력
  • 그리고 합계 초기화

0개의 댓글