#include<stdio.h> #include<malloc.h> int Find_yueshu(int a){ int sum=0; int i; for(i=1;i*i<a;i++)//最小公约数(max)时,自己乘自己 if(a%i==0) sum+=2; if(i*i==a)sum++; return sum; } int main(){ int n; scanf("%d",&n); int *num=(int *)malloc(sizeof(int)*n); for(int i=0;i<n;i++){ int temp; scanf("%d",&temp); num[i]=temp; } for(int j=0;j<n;j++){ printf("%d",Find_yueshu(num[j])); printf("\n"); } }
#include<stdio.h> #include<stdlib.h> int Find_yueshu(int a){ int sum=0; int i; for(i=1;i*i<a;i++) if(a%i==0) sum+=2; if(i*i==a)sum++; return sum; } int main(){ int n; scanf("%d",&n); int *num=(int *)malloc(sizeof(int)*n); for(int i=0;i<n;i++){ int temp; scanf("%d",&temp); num[i]=temp; } for(int j=0;j<n;j++){ printf("%d",Find_yueshu(num[j])); printf("\n"); } }