私の思路
奇♂妙拆分
http://www.nowcoder.com/questionTerminal/0e6dec826f554dba828965df40abacb3
大家的思路应该非常清晰,就是枚举
我开始想从1一直到根号n,枚举下来
tip:这里提醒大家一下吧,思路清晰了再开始写,这种题本来想清楚了挺简单,但边写边想可能翻车(比如我)
最后写了个函数,开始像搜素一样搜
优秀的思路:动态的更新处理的对象,虽然我这样搜素也可,但是这个一个循环就可以解决了,我们还是从一开始枚举,每次找到因子后处理的对象就变成了n/因数
例子:12-》12(枚举1)-》6(枚举2),然后最后不要忘了加上6本身
代码如下
#include <bits/stdc++.h> using namespace std; int t,x; int main() { cin>>t; while(t--){ cin>>x; int cnt=0; for (int i = 1; i <sqrt(x) ; ++i) { if(x%i==0) { x=x/i;cnt++; } } printf("%d\n",cnt+1); } return 0; }