题目:
思路:
g(x)代表在小于等于n的情况下,x是g(x)个数的约数
所以ans=g(1)+g(2)+…g(n)
如果求的是约数的和则ans=1g(1)+2g(2)+…n*g(n)
AC代码:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
const int maxn=1555;
int n,ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
ans+=(n/i);
}
cout<<ans<<endl;
return 0;
}