【问题描述】
小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括1、2、9、10至32、39和40,共28个,他们的和是574,平方和是14362。注意,平方和是指将每个数分别平方后求和。
请问,在1到2019中,所有这样的数的平方和是多少?
#include<bits/stdc++.h>
using namespace std;
long long ans=0;
void panduan(int y)
{
int x=y;
while(x!=0)
{
int a=x%10;
if(a==0||a==2||a==1||a==9)
{
ans+=y*y;
break;
}
x=x/10;
}
}
int main()
{
for(int i=1;i<=2019;i++)
{
panduan(i);
}
cout<<ans;
return 0;
}
【注意】本题是填空题,正式比赛时,只需要把你求得的答案填入考试页面就可以了,可以采用手工演算、计算器、Excel、编程等求解方法。但这里为了实现评判,还是需要编写一个程序,这个程序可以直接把你求得的答案输出。当然,如果你是采用编程方法得到的答案,也可以提交你的完整的求解程序。