#include <stdio.h> #include <math.h> int ApproximateNum(int x); int main() { int N, a; scanf("%d", &N); while (scanf("%d", &a) != EOF) { printf("%d\n", ApproximateNum(a)); } return 0; } // 返回约数个数 int ApproximateNum(int x) { int count = 0; // 计数器 // double stop_x = sqrt(x); // for (int i = 1; i <= stop_x; i++) { // if (i == stop_x)count += 1; // else if (x % i == 0)count += 2; // } int sqrt_x = (int)sqrt(x); for (int i = 1; i <= sqrt_x; i++) { if (x % i == 0) { count += (i * i == x) ? 1 : 2; } } return count; }