http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1082
求小于n的与7无关的数的平方和,打表就能过,但是表肯定存的是前i个个数的平方和嘛,竟然因为这个导致wa几次。
#include<cstdio>
#include<cstring>
__int64 f[1000005];
int solve(__int64 x)
{
if(x%7==0) return 1;
int flag=0;
while(x>1)
{
int a=x%10;
if(a==7) {flag=1;break;}
x/=10;
}
if(flag) return 1;
return 0;
}
int main()
{
__int64 i,t,n,ans=0;
memset(f,0,sizeof(f));
for(i=1;i<=1000000;i++)
if(!solve(i)) f[i]=f[i-1]+i*i;
else f[i]=f[i-1];
// printf("%d %d %d %d\n",f[1],f[2],f[3],f[4]);
scanf("%I64d",&t);
while(t--)
{
ans=0;
scanf("%I64d",&n);
printf("%I64d\n",f[n]);
}
return 0;
}