-
3-13: 소인수분해Math 2018. 10. 24. 20:08
소인수분해 (pfactorization.cpp)
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
소인수란 소수인 인수(약수)를 의미한다.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수를 한 줄에 하나씩 오름차순으로 출력한다..
예제 입력
72
예제 출력
2 2 2 3 3
예제 입력
3
예제 출력
3
예제 입력
6
예제 출력
2 3
예제 입력
9991
예제 출력
97 103
.
import java.util.Scanner;
public class pfactorization {
/**
*
*
* 소인수분해 (pfactorization.cpp)
*
*
* 문제
* 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
*
* 소인수란 소수인 인수(약수)를 의미한다
*
* 입력
* 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
*
*
*
* 출력
* N의 소인수를 한 줄에 하나씩 오름차순으로 출력한다..
*
* 예제 입력
* 72
* 예제 출력
* 2
* 2
* 2
* 3
* 3
*
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long target = sc.nextLong();
for (int i=2; i*i<=target; i++){
if (target %i==0) {
System.out.println(i);
target /= i;
//redo i
i--;
}
}
if (target >1){
System.out.println(target);
}
}
}'Math' 카테고리의 다른 글
4-1: 이진수로 변환 (0) 2018.10.24 3-14: 베르트랑-체비쇼프 정리 (0) 2018.10.24 3-12: 소수 찾기 (0) 2018.10.24 3-11: 분수합 (0) 2018.10.24 3-10: 가로수 (0) 2018.10.24