728x90
소인수분해!
수학적으로 소인수분해를 할때는 루트를 사용하여 문제를 푸시면 더욱더 쉽게 풀수있습니다 .
Math.sqrt(값) 루트를 씌우는 함수? 입니다.
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=2; i<= Math.sqrt(n); i++) {
while(n %i ==0) {
System.out.println(i);
n/=i;
}
}
if(n !=1) {
System.out.println(n);
}
}
}
소수 2를 시작으로 해서 값의 루트를 씌운 수를 나누면 됩니다.
728x90
'문제풀이 > 백준' 카테고리의 다른 글
알고리즘 - 에라토스테네츠의 체 : 소수와 수인수분해 (0) | 2022.05.25 |
---|---|
백준 자바 1152번 문제풀이 (0) | 2022.04.26 |
1157번 백준 자바 문제 풀이 (0) | 2022.04.19 |
백준 2675번 문자열 문제 (0) | 2022.04.04 |
백준 4344 평균은 넘겠지? (0) | 2022.03.17 |