令(f(i))表示(i)的约数个数,求(Sigma^n_{i=1}f(i)).
我们直接算每个数的贡献,问题可以转化成每个数在(1)到(n)中有多少个倍数,累加答案。
#include<iostream> using namespace std; int main() { int ans=0,n; cin>>n; for (int i=1;i<=n;++i) ans+=n/i; cout<<ans<<endl; }