给定一个正整数n,求满足floor(n/x)=y的x和y的差之和。x,y不考虑负数,0或者其他特殊情况。比如输入5,则(x, y)的组合可以有:(1, 5), (2, 2), (3, 1), (4, 1), (5, 1),那么, 1 - 5 + 2 - 2 + 3 - 1 + 4 - 1 + 5 - 1 = -4 + 0 + 2 + 3 + 4 = 5。
格式
输入格式:输入为整型
输出格式:输出为整型
样例 1
输入:5
输出:5
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n,ans=0; cin>>n;
for(int i=1;i<=n;i++){
ans+=(i-(int)(n/i));
}
cout<<ans;
return 0;
}