#include <stdio.h>
#include <math.h>
int count_divisors(int num) {
int count = 0;
int sqrt_num = (int)sqrt(num);
for (int i = 1; i <= sqrt_num; i++) {
if (num % i == 0) {
// 如果i是因子,那么num/i也是因子
count += 2;
// 如果i*i等于num,说明num是一个完全平方数,避免重复计数
if (i * i == num) {
count--;
}
}
}
return count;
}
int main() {
int N;
scanf("%d", &N); // 读取整数数量
while (N--) {
int num;
scanf("%d", &num); // 读取每个整数
printf("%d\n", count_divisors(num)); // 输出约数个数
}
return 0;
}



京公网安备 11010502036488号