Палиндром тоо

Энэхүү бодлого нь дараах 2 дэд хэсгээс бүрдэнэ.

  1. 3 оронтой 2 ширхэг тооны үржвэр болдог ээс бага тоонуудыг олох.
  2. 1 дүгээр хэсэгт олсон тоонуудаас хамгийн их палиндром тоог олох.

Код

#include <iostream> using namespace std; int main() { int n, ans = 0, x, y, z, i, j; cin>> n; for (i = 100; i < 1000; i++) for (j = 100; j < 1000; j++) { x = i * j; if (x < n) { // x нь 3 оронтой 2 тооны үржвэрт тавигддаг N-ээс бага тоо юм. z = 0; y = x; // x тоог палиндром тоо мөн эсхийг шалгах. while(y > 0) { z = z * 10 + y % 10; y /= 10; } if(x == z && ans < x) ans = x; } } cout << ans << endl; }