题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
StringBuilder sb = new StringBuilder();
for (int i = 2; i * i <= num; i++) {
while (num % i == 0) {
if (i <= 3) {
sb.append(i).append(" ");
num /= i;
continue;
}
boolean isAdd = true;
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
isAdd = false;
break;
}
}
if (isAdd) {
sb.append(i).append(" ");
}
num /= i;
}
}
if (num != 1) {
sb.append(num);
}
System.out.print(sb);
}
}
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
StringBuilder sb = new StringBuilder();
for (int i = 2; i * i <= num; i++) {
while (num % i == 0) {
if (i <= 3) {
sb.append(i).append(" ");
num /= i;
continue;
}
boolean isAdd = true;
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
isAdd = false;
break;
}
}
if (isAdd) {
sb.append(i).append(" ");
}
num /= i;
}
}
if (num != 1) {
sb.append(num);
}
System.out.print(sb);
}
}