[蓝桥杯2019初赛]平方和

题目描述
小明对数位中含有2、0、1、9 的数字很感兴趣,在1 到40 中这样的数包
括1、2、9、10 至32、39 和40,共28 个,他们的和是574,平方和是14362。
注意,平方和是指将每个数分别平方后求和。
请问,在1 到2019 中,所有这样的数的平方和是多少?

答案:2658417853
代码:

#include
using namespace std;
int main()
{
     
	long long cnt=0;
    for(int i=1;i<=2019;i++){
     
   	 int t=i,x=0;
      while(t){
     
   		int p=t%10;
   		if(p==0||p==1||p==2||p==9) x++;
   		t/=10;
	}
	if(x) cnt+=i*i;
   }
   cout<<cnt<<endl;
   return 0;
}

你可能感兴趣的:(蓝桥杯)