题目描述:
输入 n 个整数,依次输出每个数的约数的个数。
输入格式
第一行包含整数 n。
第二行包含 n 个整数 ai。
输出格式
共 n 行,按顺序每行输出一个给定整数的约数的个数。
数据范围
1≤n≤1000,
1≤ai≤10^9
输入样例:
5
1 3 4 6 12
输出样例:
1
2
3
4
6
解题思路:
1.枚举每个数,暴力求取每个数的约数;
2.根据n与其质因数的个数关系求取;
参考代码:
###暴力
```
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int solve(int x)
{
int res =0;
for(int i=1;i*i<=x;i++)
{
if(x%i==0)
{
res++;
if(i!=x/i) res++;
}
}
return res;
}
int main()