题目:给你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;
}

京公网安备 11010502036488号