bzoj1968[Ahoi2005]COMMON 约数研究

每个数i作为约数的次数为n/i。累加即可,复杂度O(n)。

#include<cstdio>
using namespace std;
//const int maxn = 100000 + 10;

//int a[maxn];

int main() {
    int n,ans = 0;
    scanf("%d",&n);
    for(int i = 1; i <= n; i++)
            ans += n / i;
    printf("%d\n",ans);
    return 0;
}
posted @ 2016-03-26 09:50  invoid  阅读(113)  评论(0编辑  收藏  举报