注意1.结果longlong
2.用while处理i每一位时,记得引入中间量,不改变i
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll sum=0;
for(int i=1;i<=2019;i++){
int t=i;
while(t){
int x=t%10;
if(x==2||x==0||x==1||x==9) {sum+=i*i;break;}
t=t/10;
}
}
cout<<sum;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
long long int sum=0;
long long i;
for(i=1;i<=2019;i++)
{?
string a=to_string(i);//tostring(数字) string.find()=-1:没找到
if(a.find("2")==-1&&a.find("0")==-1&&a.find("1")==-1&&a.find("9")==-1)
continue;
else
sum+=i*i;
}
cout<<sum;
return 0;
}