문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
코드
import java.io.*;
import java.util.*;
public class Main {
static Scanner sc = new Scanner(System.in);
public static void main(String args[]) throws IOException
{
/* 11653 소인수분해
* 정수 입력받아서 소인수 분해
*/
int n = sc.nextInt();
for(int i = 2; i <= n;) //소인수는 1보다 큽니다, 그래서 2부터 시작
{
if(n%i == 0) // 나머지가 0이면 출력
{
n/=i;
System.out.println(i);
}
else
{
i++;
}
}
}
}ll
풀이
https://fall-in-dream.tistory.com/22
위의 문제랑 비슷한데
이 문제는 그냥 출략하면 되서 더 단순하다.
728x90
'백준 > 브론즈' 카테고리의 다른 글
백준 > 11382번 > 꼬마 정민 int, long - JAVA (0) | 2023.09.07 |
---|---|
백준 > 11382번 > 꼬마 정민 - JAVA > String을 long형으로 형변환하기 (0) | 2023.03.22 |