题目
分析
枚举1一直到根号n,找到因子,就把n变成n/因数,答案+1。(不要忘记最后的n自身也是一个因子)
为拆成最多的且不重复的自然数乘积,所以尽量从小的自然数拆起,从1开始枚举到根号N(防止遇到大素数这种情况,N为目前数),是否为满足条件(因子)的自然数。
代码
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
int n,ans;
while(t-->0) {
n=sc.nextInt();
ans=0;
for (int i =1;i*i<n; i++) {
if(n%i==0) {
ans++;n/=i;
}
}
System.out.println(ans+1); //不要忘记最后的n也是答案之一
}
}
}