素数分解
package hello;
import java.util.Scanner;
public class Main {
public static boolean isPrimer(int n) {
boolean is_primer = true;
for(int i = 2;i <= Math.sqrt(n);++i) {
if(n % i == 0) {
is_primer = false;
}
}
return is_primer;
}
public static void main(String[] args) {
int n;
int cur = 2;
boolean first = true;
Scanner in = new Scanner(System.in);
n = in.nextInt();
System.out.print(n + "=");
if(isPrimer(n)) {
System.out.print(n);
}else {
while(n != 1) {
if(n % cur == 0 && isPrimer(cur)) {
if(first) {
first = false;
}else {
System.out.print("x");
}
System.out.print(cur);
n /= cur;
}else {
cur++;
}
}
}
}
}
需要注意的是<=sqrt 而不是 <sqrt

浙公网安备 33010602011771号