--- tags: Python --- # Практика 5. Лінійні програми Для *реєстрації* на сайті snakify використовуйте *запрошувальне посилання* https://snakify.org/join_class/roman.yatsenko/hneu.net/ ## Базовий рівень ### [Задача 1. Остання цифра числа](https://snakify.org/en/lessons/integer_float_numbers/problems/last_digit/) Дано натуральне число. Виведіть останню цифру. :::spoiler Відповідь ```python= number = int(input()) last_digit = number % 10 print(last_digit) ``` <!-- ``` ввести n с помощью int(input()) найти и вывести последнюю цифру n как остаток от деления на 10 (n % 10) ``` --> ::: ### [Задача 2. Число десятків](https://snakify.org/en/lessons/integer_float_numbers/problems/tens_digit/) Дано натуральне число. Знайдіть число десятків у його десятковому записі. :::spoiler Відповідь ``` ввести n вивести залишок від ділення на 10 для результату ділення n на 10 ``` ![](https://i.imgur.com/GK425kz.png) <!-- ``` python n = int(input()) print(n // 10 % 10) ``` --> ::: ### [Задача 3. Сума цифр](https://snakify.org/en/lessons/integer_float_numbers/problems/sum_of_digits/) Дано тризначне число. Знайдіть суму його цифр. :::spoiler Відповідь ``` ввести n знайти суму цифр числа (див. лекцію на тему 3) вивести суму ``` ![](https://i.imgur.com/Iei18jb.png) <!-- ``` python n = int(input()) print(n // 100 + n // 10 % 10 + n % 10) ``` --> ::: ## Середній рівень ### [Задача 4. Дробова частина](https://snakify.org/en/lessons/integer_float_numbers/problems/fractional_part/) Дано позитивне дробне число `X`. Виведіть його дрібну частину. :::spoiler Відповідь ``` ввести дробове число (float) вивести різницю між числом та його цілою частиною (int) ``` ![](https://i.imgur.com/pBJM8eI.png) <!-- ``` python x = float(input()) print(x - int(x)) ``` --> ::: ### [Задача 5. Перша цифра після точки](https://snakify.org/en/lessons/integer_float_numbers/problems/digit_after_decimal_point/) Дано позитивне дробове число `X`. Виведіть першу цифру після десяткової точки. :::spoiler Відповідь ``` ввести дробове число знайти цілу частину від добутку числа на 10, а потім для результату знайти залишок від делення на 10 ``` ![](https://i.imgur.com/yhcJ81v.png) <!-- ``` python x = float(input()) print(int(x * 10) % 10) ``` --> ::: ### [Задача 6. Автопробіг](https://snakify.org/en/lessons/integer_float_numbers/problems/car_route/) За день машина проїжджає `n` кілометрів. Скільки днів потрібно, щоб проїхати маршрут завдовжки `m` кілометрів? Програма отримує на вхід числа `n` та `m`. :::spoiler Відповідь ``` ввести n ввести m застосувати округлення вгору або обчислити m // n + (m % n + n - 1) // n ``` ![](https://i.imgur.com/3NxhEzV.png) <!-- ``` python n = int(input()) m = int(input()) print(m // n + (m % n + n - 1) // n) ``` --> ::: ## Підвищений рівень ### [Задача 7. Електронний годинник](https://snakify.org/en/lessons/integer_float_numbers/problems/digital_clock/) Дано число `n`. З початку доби пройшло `n` хвилин. Визначте, скільки годин і хвилин буде показувати електронний годинник у цей момент. Програма має вивести два числа: кількість годин (від 0 до 23) та кількість хвилин (від 0 до 59). Врахуйте, що число `n` може бути більше, ніж кількість хвилин на добу. :::spoiler Відповідь <!-- ``` ввести n вивести одним print залишок від ділення на 24 кількості минулих годин і кількість хвилин (залишок від ділення на 60) ``` ![](https://i.imgur.com/Y9eyEkK.png) ``` python n = int(input()) print((n // 60) % 24, n % 60) ``` --> ::: ### [Задача 8. Вартість покупки](https://snakify.org/en/lessons/integer_float_numbers/problems/total_cost/) Пиріжок у їдальні коштує `a` гривень і `b` копійок. Визначте, скільки гривень та копійок потрібно заплатити за `n` пиріжків. Програма отримує на вхід три числа: `a`, `b`, `n`, і має вивести два числа: вартість покупки в гривнях та копійках. :::spoiler Відповідь <!-- ``` ввести a ввести b ввести n обчислити вартість покупки у копійках вивести відповідь у гривнях та копійках ``` ![](https://i.imgur.com/9lViLRL.png) ``` python a = int(input()) b = int(input()) n = int(input()) value = (a * 100 + b) * n print(value // 100, value % 100) ``` --> ::: ### [Задача 9. Годинник - 1](https://snakify.org/en/lessons/integer_float_numbers/problems/clock_face_1/) З початку доби пройшло `H` годин, `M` хвилин, `S` секунд (`0 ≤ H < 12`, `0 ≤ M < 60`, `0 ≤ S < 60`). За даними числами `H`, `M`, `S` визначте кут (у градусах), на який повернулася годинникова стрілка з початку доби і виведіть його у вигляді дробового числа. ### [Задача 10. Годинник - 2](https://snakify.org/en/lessons/integer_float_numbers/problems/clock_face_2/) З початку доби годинна стрілка повернулася на кут в `α` градусів. Визначте, на який кут повернулася хвилинна стрілка з початку останньої години. Вхідні та вихідні дані - дробові числа. <!-- ### [Задача 10. Конец уроков](https://pythontutor.ru/lessons/int_and_float/problems/konec_urokov/) В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут. Дан номер урока (число от 1 до 10). Определите, когда заканчивается указанный урок. Выведите два целых числа: время окончания урока в часах и минутах. :::spoiler Решение ``` ввести n найти через сколько минут закончится n-й урок после начала занятий как n * 45 + (n - 1) * 10 - (1 - n % 2) * 5 перевести в часы и минуты и вывести ``` ![](https://i.imgur.com/jmQfrt9.png) ``` python n = int(input()) t = n * 45 + (n - 1) * 10 - (1 - n % 2) * 5 print(9 + t // 60, t % 60) ``` ::: --> <!-- ### [Задача 12. Улитка](https://pythontutor.ru/lessons/int_and_float/problems/ulitka/) Улитка ползет по вертикальному шесту высотой `h` метров, поднимаясь за день на `a` метров, а за ночь спускаясь на `b` метров. На какой день улитка доползет до вершины шеста? Программа получает на вход натуральные числа `h`, `a`, `b`. Программа должна вывести одно натуральное число. Гарантируется, что `a>b`. :::spoiler Решение ``` ввести h ввести а ввести b найти решение по формуле (h - a - 1) // (a - b) + 2 ``` ``` python h = int(input()) a = int(input()) b = int(input()) print((h - a - 1) // (a - b) + 2) ``` ::: --> <!-- ### [Задача 15. Часы - 3](https://pythontutor.ru/lessons/int_and_float/problems/watch_3/) С начала суток часовая стрелка повернулась на угол в `α` градусов. Определите сколько полных часов, минут и секунд прошло с начала суток, то есть решите задачу, обратную задаче [«Часы - 1»](https://pythontutor.ru/lessons/int_and_float/problems/watch_1/). Запишите ответ в три переменные и выведите их на экран. ### [Задача 16. Проценты](https://pythontutor.ru/lessons/int_and_float/problems/percents/) Процентная ставка по вкладу составляет `P` процентов годовых, которые прибавляются к сумме вклада. Вклад составляет `X` рублей `Y` копеек. Определите размер вклада через год. Программа получает на вход целые числа `P`, `X`, `Y` и должна вывести два числа: величину вклада через год в рублях и копейках. Дробная часть копеек отбрасывается. --> --- (c) Яценко Р.М., 2018-2025 [![kit](https://i.imgur.com/Kh901c1.png =10%x)](http://kit.kh.ua/)