2009-04-23 20:13:39來源不明
ACM 11526 11526 - H(n)
數學題
首先先算出N/1~N/2的個數*1 N/2~N/3的個數*2....一直砍到N/M~N/(M+1) 就可以直接除了
/*************************************************************/
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,m;
int a,b,c;
while(scanf("%d",&n)==1)
{
while(n--)
{
scanf("%d",&m);
long long int ans=0;
int top=0;
for(a=2;;a++)
{
int temp=m/(a-1)-m/a;
if(temp==1) {
for(b=1;b<=m-top;b++)
ans+=m/b;
break;
}
else ans+=temp*(a-1);
top+=temp;
}
printf("%lld\n",ans);
}
}
return 0;
}