Вопрос задан 27.07.2023 в 01:59. Предмет Информатика. Спрашивает Михайлов Ждан.

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

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Устинова Ярослава.

#include <iostream>

#include <string>

#include <algorithm>


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)

   {

       if (P(i))

       {

           count++;

       }

   }


   std::cout << "Count palindrome: " << count << std::endl;

   return 0;

}

0 0
Отвечает Столярова Анна.

#include<iostream>


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++;


std::cout << c << std::endl;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи, нужно написать программу на C++, которая будет проверять числа от 1 до K на палиндромность и подсчитывать количество палиндромов.

Вот C++ программный код для этой задачи:

cpp
#include <iostream> // Функция для проверки, является ли число палиндромом bool isPalindrome(int num) { int originalNum = num; int reversedNum = 0; while (num > 0) { int digit = num % 10; reversedNum = reversedNum * 10 + digit; num /= 10; } return originalNum == reversedNum; } // Функция для подсчета количества палиндромов не превосходящих K int countPalindromes(int K) { int count = 0; for (int i = 1; i <= K; i++) { if (isPalindrome(i)) { count++; } } return count; } int main() { int K; std::cout << "Введите число K (1 <= K <= 100000): "; std::cin >> K; int result = countPalindromes(K); std::cout << "Количество натуральных палиндромов не превосходящих K: " << result << std::endl; return 0; }

Программа работает следующим образом:

  1. Сначала, она запрашивает у пользователя число K.
  2. Затем, она вызывает функцию countPalindromes(K) для подсчета количества палиндромов, не превосходящих K.
  3. Функция countPalindromes проверяет числа от 1 до K на палиндромность с помощью функции isPalindrome.
  4. Функция isPalindrome проверяет, является ли число палиндромом, переворачивая его цифры и сравнивая с исходным числом.

После выполнения программы, она выведет количество палиндромов, не превосходящих K, в соответствии с введенным пользователем числом K.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос