题解 | #约数的个数#
约数的个数
https://www.nowcoder.com/practice/04c8a5ea209d41798d23b59f053fa4d6
#include <iostream> #include<cmath> using namespace std; int main() { int n; while (cin >> n) { // 注意 while 处理多个 case for(int i=0;i<n;i++){ int num,sum=0; cin>>num; double sqr=sqrt(num); if(num==1) sum+=1; else{ sum+=2; for(int j=2;j<sqr;j++){ if(num%j==0) sum+=2; } if((int)sqr*(int)sqr==num) sum++; } cout<<sum<<endl; } } } // 64 位输出请用 printf("%lld")