首页 > 其他 > 详细

[luoguP1403] [AHOI2005]约数研究(这。。。)

时间:2017-06-19 19:13:09      阅读:291      评论:0      收藏:0      [点我收藏+]

传送门

 

用类似筛法的原理,就好啦

 

——代码

#include <cstdio>

int n, ans; 
int a[1000001];

int main()
{
	int i, j;
	scanf("%d", &n);
	for(i = 1; i <= n; i++)
		for(j = i; j <= n; j += i)
			a[j]++;
	for(i = 1; i <= n; i++) ans += a[i];
	printf("%d\n", ans);
	return 0;
}

 

换一个思路,考虑每一个数对答案的贡献,发现

1 是 n / 1

2 是 n / 2

3 是 n / 3

。。。。。。

那么枚举就好了

#include <cstdio>

int n, ans; 
int a[1000001];

int main()
{
	int i, j;
	scanf("%d", &n);
	for(i = 1; i <= n; i++) ans += n / i;
	printf("%d\n", ans);
	return 0;
}

  

[luoguP1403] [AHOI2005]约数研究(这。。。)

原文:http://www.cnblogs.com/zhenghaotian/p/7049939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!