题解 | #约数的个数#
约数的个数
https://www.nowcoder.com/practice/04c8a5ea209d41798d23b59f053fa4d6
#include <stdio.h> #define num 1e9 int Kth(int k){//计算因数个数的函数 int cnt = 0; int i = 1; for(i = 1; i*i<k;i++) { if(k%i==0) cnt+=2; } if(i*i == k) cnt ++; return cnt; } int main() { int N = 0 ; scanf("%d",&N); //printf("%d",N); int Num[N]; for(int i = 0;i<N;i++) { scanf("%d",&Num[i]); } for(int i = 0 ; i < N; i++) printf("%d\n",Kth(Num[i])); return 0; }
此题需要注意暴力解法会超时,只需算到i*i< N即可