BZOJ1968 [Ahoi2005]COMMON 约数研究

数学题

题目传送门

大水题

考虑每个数对答案的贡献。能整除 i 的数显然有 n / i 个,那么答案就是 i = 1 n n i

迄今写过除了输入输出题之外最短的代码:

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

猜你喜欢

转载自blog.csdn.net/a1799342217/article/details/80573546