/*2,0,1,9*/
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
int i = 1;
long sum = 0;
for (i = 1; i <= 2019; i++)
{
int m = i;
while (m > 0)
{
int t = m % 10;
if (t == 2 || t == 0 || t == 1 || t == 9)
{
sum += (i * i);
cout << setw(5) << i;
break;
}
m /= 10;
}
}
cout << endl<<endl;
cout << sum;
return 0;
}
你的编译器是32bit的吧,long溢出了
我用64bit运行,输出 2658417853