看到这题想到线性筛,估计是可以做的。。不过有更简单的方法,考虑每个数对答案的贡献,显然就是能够整除它的数的数量,所以贡献就是n/i,秒变傻逼题。。
#include<cstdio>
int ans=0,n;
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++) ans+=n/i;
printf("%d",ans);
}
看到这题想到线性筛,估计是可以做的。。不过有更简单的方法,考虑每个数对答案的贡献,显然就是能够整除它的数的数量,所以贡献就是n/i,秒变傻逼题。。
#include<cstdio>
int ans=0,n;
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++) ans+=n/i;
printf("%d",ans);
}