1621:轻拍牛头(约数个数)---信息学奥赛一本通

1621:轻拍牛头(约数个数)---信息学奥赛一本通_第1张图片

【输入样例】

5
2
1
2
3
4

【输出样例】

2
0
2
1
3

1621:轻拍牛头(约数个数)---信息学奥赛一本通_第2张图片 

解析:

        直接求某个数的约数不好计算,一般都是反过来计算倍数。

        统计每个数的个数,遍历累加。

#include
using namespace std;
typedef long long ll;
const int N=1e6+5;
int n,a[N],ans[N],cnt[N];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		cnt[a[i]]++;
	}
	for(int i=1;i

你可能感兴趣的:(信息学奥赛一本通,算法,c++,数据结构,开发语言,约数)