#include <iostream>
#include <cmath>
int main(int argc, const char * argv[])
{
for (long i = 1; i > 0; i++) {
long n = i*i;
long x = n % 10;
long y = n / 10 % 10;
if (x % 2 != 0 && y % 2 != 0) {
std::cout << i << std::endl;
std::cout << n << " " << n % 100 << " " << y << " " << x << std::endl;
std::cout << "Number Found: " << n << std::endl;
break;
}
}
}
-- RESULT --
3037000501
-9223372030635300615 -15 -1 -5
Number Found: -9223372030635300615
我可能错了,但我相信 long 可能不足以存储答案。有人可以确认该程序运行正常并且长期无法存储该号码,还是我遗漏了什么错误。或者我错过的完全不同的东西。
谢谢