【题目描述】:
将一个正整数N(1< N< 32768)分解质因数,把质因数按从小到大的顺序输出。最后输出质因数的个数。
输入
一行,一个正整数
输出
两行,第一行为用空格分开的质因数
第二行为质因数的个数
第二行为质因数的个数
样例输入
66
样例输出
2 3 11 3
代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int cnt = 0;
for(int i=2;i<N;i++){
if(N%i==0&&su(i)){
System.out.print(i+" ");
cnt++;
}
}
System.out.println();
System.out.println(cnt);
}
private static boolean su(int n){
if(n==0||n==0){
return false;
}
for(int i=2;i*i<n;i++){
if(n%i==0){
return false;
}
}
return true;
}
}