Написать программу C ++ Назовем число палиндромом, если оно не меняется при перестановке...

0 голосов
304 просмотров

Написать программу C ++ Назовем число палиндромом, если оно не меняется при перестановке его цифр в обратном порядке. Напишите программу, которая по заданному числу K выводит количество натуральных палиндромов, не превосходящих K. Входные данные: Задано единственное число K (1 <= K <= 100000). Выходные данные: Необходимо вывести количество натуральных палиндромов, не превосходящих K. Примеры: входные данные 1 выходные данные 1 входные данные 100 выходные данные 18


Информатика (62 баллов) | 304 просмотров
Дано ответов: 2
0 голосов

#include


int reverse(int n)

{

int t, a = 0;

while (n>0) {

   t = n % 10;

   a = a * 10 + t;

   n /= 10;

}

return a;

}


int main() {

int n, c = 0;

std::cin >> n;


for (int i = 1; i <= n; i++) if (i == reverse(i)) c++;</p>

std::cout << c << std::endl;</p>

}

(5.8k баллов)
0 голосов

#include

#include

#include


bool P(int value)

{

   std::string left = std::to_string(value);

   std::reverse(left.begin(), left.end());

   std::string right = std::to_string(value);;

   return left == right;

}


int main()

{

   int n;

   std::cin >> n;


   int count = 0;

   for (int i = 1; i <= n; ++i)</p>

   {

       if (P(i))

       {

           count++;

       }

   }


   std::cout << "Count palindrome: " << count << std::endl;</p>

   return 0;

}

(1.3k баллов)
0

А вопрос степени извращения уже не главный тут.

0

Но это прям жестоко

0

Зато правда

0

Немного изменил решение по просьбам трудящихся)

0

Ух спасибо)

0

А можно было бы усложнить задание и попросить вывести эти палиндромы :)

0

+1 строчка кода, не очень так усложнение)

0

Да? Пожалуйста.