题意:
求n除以1到n的和。
思路:
数据上限1e9所以就是对暴力1到n的优化,简单数论。代码:
int main()
{
int i,j,k,kk,n;
long long res;
scanf("%d",&k);
kk=0;
while(k--)
{
scanf("%d",&n);
for(res=0,i=1;i<=(int)sqrt(n);i++)
{
res+=n/i;
res+=(n/i-n/(i+1))*i;
}
i--;
if(i==n/i)res-=i;
printf("Case %d: %lld\n",++kk,res);
}
return 0;
}