РЕШИТЬ ЗАДАНИЕ НА PYTHON ПРОШУ ТЕХ КТО В НЁМ ХОРОШО РАЗБИРАЕТСЯ Назовем число палиндромом, если оно...

Тематика Информатика
Уровень 5 - 9 классы
Python программирование палиндром алгоритм натуральные числа количество палиндромов числа ввод вывод примеры задача
0

РЕШИТЬ ЗАДАНИЕ НА PYTHON ПРОШУ ТЕХ КТО В НЁМ ХОРОШО РАЗБИРАЕТСЯ

Назовем число палиндромом, если оно не меняется при перестановке его цифр в обратном порядке. Напишите программу, которая по заданному числу K выводит количество натуральных палиндромов, не превосходящих K.

Входные данные

Задано единственное число K (1K100000).

Выходные данные

Необходимо вывести количество натуральных палиндромов, не превосходящих K.

Примеры

входные данный

1

выходные данные

1

входные данные

100

выходные данные

18

avatar
задан месяц назад

3 Ответа

0

Чтобы решить задачу, нужно написать программу, которая определит количество палиндромов, не превышающих заданное число ( K ). Палиндром — это число, которое читается одинаково как слева направо, так и справа налево. Например, числа 121, 22 и 9 являются палиндромами.

Пошаговое решение

  1. Считывание входных данных: Программа должна считать число ( K ) из входных данных.

  2. Определение палиндромов: Нужно проверить все числа от 1 до ( K ) на то, являются ли они палиндромами.

  3. Подсчет палиндромов: Подсчитываем количество чисел, которые являются палиндромами.

Псевдокод

  1. Ввести число ( K ).
  2. Инициализировать счетчик палиндромов.
  3. Для каждого числа от 1 до ( K ):
    • Преобразовать число в строку.
    • Проверить, совпадает ли строка с ее обратной версией.
    • Если совпадает, увеличить счетчик палиндромов.
  4. Вывести значение счетчика.

Реализация на Python

def count_palindromes(K):
    count = 0
    for num in range(1, K + 1):
        # Преобразуем число в строку
        str_num = str(num)
        # Проверяем, является ли строка палиндромом
        if str_num == str_num[::-1]:
            count += 1
    return count

# Считывание входного значения
K = int(input())

# Вычисление и вывод результата
print(count_palindromes(K))

Объяснение кода

  1. Функция count_palindromes(K):

    • Инициализируем переменную count для подсчета палиндромов.
    • Проходимся по всем числам от 1 до ( K ) включительно.
    • Преобразуем каждое число в строку и проверяем, является ли оно палиндромом путем сравнения строки с ее обратной версией (str_num[::-1]).
    • Если число является палиндромом, увеличиваем счетчик count.
  2. Считывание и вывод:

    • Считываем число ( K ) с помощью функции input().
    • Вызываем функцию count_palindromes(K) и выводим результат.

Примеры выполнения

  • Входное значение: 1

    • Выходное значение: 1 (только число 1 является палиндромом)
  • Входное значение: 100

    • Выходное значение: 18 (палиндромы от 1 до 100: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99)

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

avatar
ответил месяц назад
0

def is_palindrome(num):

return str(num) == str(num)[::-1]

K = int(input()) count = 0 for i in range(1, K+1):

if is_palindrome(i):
    count += 1

print(count)

avatar
ответил месяц назад
0

Для решения данной задачи на Python можно воспользоваться следующим кодом:

def is_palindrome(n):
    return str(n) == str(n)[::-1]

K = int(input("Введите число K: "))
count = 0

for i in range(1, K+1):
    if is_palindrome(i):
        count += 1

print(count)

Данный код определяет функцию is_palindrome, которая возвращает True, если число является палиндромом, и False в противном случае. Затем программа запрашивает у пользователя число K, после чего с помощью цикла перебирает все натуральные числа от 1 до K и считает количество палиндромов. Результат выводится на экран.

Примеры работы программы:

Введите число K: 1
1

Введите число K: 100
18

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме