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

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

#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;
}



#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;
}



Для решения этой задачи, нужно написать программу на 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;
}
Программа работает следующим образом:
- Сначала, она запрашивает у пользователя число K.
- Затем, она вызывает функцию
countPalindromes(K)
для подсчета количества палиндромов, не превосходящих K. - Функция
countPalindromes
проверяет числа от 1 до K на палиндромность с помощью функцииisPalindrome
. - Функция
isPalindrome
проверяет, является ли число палиндромом, переворачивая его цифры и сравнивая с исходным числом.
После выполнения программы, она выведет количество палиндромов, не превосходящих K, в соответствии с введенным пользователем числом K.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili