There are 2470 of such palindromes; the highest being 993 * 913 [906609] and the lowest being 101 * 101 [10201]
The code I used to get this is as below. Feel free to loo through it, modify and comment! You can view the output file here.
#include <iostream> #include <sstream> #include <string> using namespace std; int main (int argc, char * const argv[]) { int num1; int num2; string resultString; for (num1 = 999; num1 > 99; --num1) { for (num2 = 999; num2 > 99; --num2) { int result = num1 * num2; stringstream resultStream; resultStream << result; resultString = resultStream.str(); { /* CHECK FOR PALINDROME */ int stringSize = resultString.size(); int midpoint = stringSize / 2; bool fault = false; for (int i = 0; i <= midpoint; ++i) { if (resultString[i] != resultString[stringSize - i - 1]) { fault = true; break; } } if (!fault) { cout << "Palindrome found! " << num1 << " * " << num2 << " = " << resultString << " which is a palidrome." << endl; } } } } cout << "Done" << endl; return 0; }
No comments:
Post a Comment