题目描述
科学家们在 Samuel 星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机 Samuel II 的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用 Samuel II 进行数学研究。
小联最近在研究和约数有关的问题,他统计每个正数 N 的约数的个数,并以 f(N) 来表示。例如12
12 的约数有
1,2,3,4,6,12,因此
f(12)=6。
现在请你求出:f(1)+f(2)+···+f(n-1)+f(n)的值
输入格式
输入一个整数 n
输出格式
输出f(1)+f(2)+···+f(n-1)+f(n)的值。
输入数据 1
3
输出数据 1
5
样例解释
1到3之间的数字中,
1的因数个数是1,2是2,3是2.
1+2+2=5
对于 100% 的数据,1≤N≤10^6
题目时限1s
思路:暴力枚举肯定超时,题目一定是让我们找方法。
过程不详细说了,先上代码,其实特别简单,大家自行思考。
#include <iostream>
using namespace std;
int main(){
int n,ans=0;
cin>>n;
for (int i=1;i<=n;i++) ans+=n/i;
cout<<ans;
return 0;
}