题目:给你t个样例,每个样例给你一个数n,求n有几个因数(因数互不相同)
思路:枚举贪心,从1开始枚举到n(但是这个n是动态变化的),每当n能整除这个数的时候就直接整除
这样就能快很多,代码就可以通过了
代码
#include <iostream> using namespace std; int main() { int n; cin>>n; while(n--) { int t,ans=0; cin>>t; for(int i=1; i<=t; i++)//i小于等于的这个t是动态变化的(看下面) { if(t%i==0){ t/=i;//每次能除的时候就整除,把i的范围缩小 ans++; } } cout<<ans<<endl; } return 0; }