#include<iostream>
#include<stdio.h>
#include<math.h>
#define Max 1010
using namespace std;
int Yueshu(int x){ //給出某個數的約束
int cnt=0;
int tmp=sqrt(x)+1;
if(x==1) return 1;
for(int i=1;i<tmp;i++){ //如果x%i==0,則x的約數是x/i和i兩個
if(x%i==0){
cnt+=2;
}
}
if(x==(tmp-1)*(tmp-1)){ //如果x x=i*i;那麼約數就只有一個
cnt--;
}
return cnt;
}
int main(){
int n;
int a[Max];
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
printf("%d\n",Yueshu(a[i]));
}
}
return 0;
}
九度OJ-1087-約數的個數
題目1087:約數的個數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.