Algorithm Programming/Java
[자바 알고리즘] 진약수의 합
DOGvelopers
2020. 1. 7. 12:11
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
자연수 N이 주어지면 자연수 N의 진약수의 합을 수식과 함께 출력하는 프로그램을 작성하세요.
| 입력설명
자연수 N을 입력합니다.(3<N<=100)
| 출력설명
더하는 수식과 함께 합을 출력합니다.
| 입력 예제
20
| 출력 예제
1 + 2 + 4 + 5 + 10 = 22
※진약수
어떤 자연수 n의 약수들 중에서 자기 자신인 n을 제외한 약수를 진약수(proper divisor)라고 한다.
| 풀이
1은 모든 숫자의 약수 이기 때문에 1찍고 그리고 약수의 값을 누적하여 더해준다.
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n, i, sum=1;
n = sc.nextInt();
System.out.printf("%d",1);
for(i=2; i<n; i++){
if(n%i==0){
System.out.printf(" + %d",i);
sum = sum+i;
}
}
System.out.printf(" = %d",sum);
}
}
반응형