码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-19 19:34:38      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:传送门   ret   ref   das   tps   cpp   div   scanf   blog   

传送门

 

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

 

——代码

#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]约数研究(这。。。)

标签:传送门   ret   ref   das   tps   cpp   div   scanf   blog   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!