Предмет: Информатика,
автор: Natoptich
написать программу C ++
Назовем число палиндромом, если оно не меняется при перестановке его цифр в обратном порядке. Напишите программу, которая по заданному числу K выводит количество натуральных палиндромов, не превосходящих K.
Входные данные:
Задано единственное число K (1 <= K <= 100000).
Выходные данные:
Необходимо вывести количество натуральных палиндромов, не превосходящих K.
Примеры:
входные данные
1
выходные данные
1
входные данные
100
выходные данные
18
Ответы
Автор ответа:
1
#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;
}
Автор ответа:
2
#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;
}
Аноним:
А вопрос степени извращения уже не главный тут.
Но это прям жестоко
Зато правда
Немного изменил решение по просьбам трудящихся)
Ух спасибо)
А можно было бы усложнить задание и попросить вывести эти палиндромы :)
+1 строчка кода, не очень так усложнение)
Да? Пожалуйста.
Похожие вопросы
Предмет: Математика,
автор: piskunnikita8
Предмет: Русский язык,
автор: chida24637
Предмет: Информатика,
автор: Famiba
Предмет: Алгебра,
автор: skotmilerq
Предмет: Физика,
автор: сергей462663