luogu 1403

求1~n这些数一共有多少个约数。

可以看做是求1~n这些数在1~n之间一共有多少个它的倍数。

数i在1~n之间有[n/i]个倍数。

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

 

posted @ 2018-01-22 15:49  TrassBlose  阅读(98)  评论(0编辑  收藏  举报