using System; class LabProject_3 { static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; Console.WriteLine("Введіть натуральне число n:"); if (int.TryParse(Console.ReadLine(), out int n) && n > 0) { PrintAllRequiredNumbers(n); } else { Console.WriteLine("Будь ласка, введіть натуральне число."); Main(args); } } static void PrintAllRequiredNumbers(int n) { Console.WriteLine($"Шукаємо всі числа менші за {n}, які є паліндромами і дають паліндром при піднесенні до квадрата..."); bool anyFound = false; for (int i = 1; i < n; i++) { if (IsReverse(i) && IsReverse(i * i)) { Console.WriteLine($"Число {i}, квадрат якого дорівнює {i * i}, відповідає умовам."); anyFound = true; } } if (!anyFound) { Console.WriteLine("Не знайдено жодного числа, яке відповідає умовам."); } } static bool IsReverse(int num) { return num == CalcReversedNumber(num); } static int CalcReversedNumber(int num) { int reversed = 0; while (num > 0) { reversed = reversed * 10 + num % 10; num /= 10; } return reversed; } }
2006
Введіть натуральне число n: Шукаємо всі числа менші за 2006, які є паліндромами і дають паліндром при піднесенні до квадрата... Число 1, квадрат якого дорівнює 1, відповідає умовам. Число 2, квадрат якого дорівнює 4, відповідає умовам. Число 3, квадрат якого дорівнює 9, відповідає умовам. Число 11, квадрат якого дорівнює 121, відповідає умовам. Число 22, квадрат якого дорівнює 484, відповідає умовам. Число 101, квадрат якого дорівнює 10201, відповідає умовам. Число 111, квадрат якого дорівнює 12321, відповідає умовам. Число 121, квадрат якого дорівнює 14641, відповідає умовам. Число 202, квадрат якого дорівнює 40804, відповідає умовам. Число 212, квадрат якого дорівнює 44944, відповідає умовам. Число 1001, квадрат якого дорівнює 1002001, відповідає умовам. Число 1111, квадрат якого дорівнює 1234321, відповідає умовам. Число 2002, квадрат якого дорівнює 4008004, відповідає умовам.