问题描述
小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括1、2、9、10至32、39和40,共28个,他们的和是574,平方和是14362。注意,平方和是指将每个数分别平方后求和。请问,在1到2019中,所有这样的数的平方和是多少?
题目解析
这个题目与之前蓝桥杯竞赛比赛规则内的举例填空题类似,只是该题要求求解平方和。解决这类题目,可以采用excel或其他手段,也可以通过编程。
C++代码
#include<bits/stdc++.h>
using namespace std;
bool check(int n) //注意使用函数组织功能
{
while(n)
{
if(n%10==2||n%10==0||n%10==1||n%10==9) return true;
n/=10;
}
return false;
}
int main()
{
long long sum = 0;
for(int i=1;i<2020;i++)
{
if(check(i)) sum+=i*i;
}
cout<<sum;
}