Решение модуля 2.5 «Поколение Python»

Пятый урок из курса «Поколение Python», направленный на углубленное изучение манипуляций с целыми числами. По результатам урока ученик должен научиться:

  • Находить остаток от деления
  • Возводить в N-ую степень
  • Решать задачи
  • Целочисленно делить
  • Находить первую/вторую/третью цифру от всего числа

Предыдущий модуль 2.4 из курса «Поколение Python».

Вопросы

  1. Вычислите результат целочисленного деления.
    23 // 7 = 3
    20 // 5 = 4
    2 // 5 = 0
    123 // 10 = 12
    — 123 // 10 = -13
  2. Вычислите остаток от деления.
    23 % 7 = 2
    20 % 5 = 0
    2 % 5 = 2
    123 % 10 = 3
  3. Что будет выведено на экран в результате выполнения следующей программы?
    a = 15 // (16 % 7)
    b = 34 % a * 5 — 29 % 5 * 2
    print(a + b)
    Ответ: 29
  4. Что будет выведено на экран в результате выполнения следующей программы?
    a = 82 // 3 ** 2 % 7
    print(a)
    Ответ: 2

Геометрическая прогрессия

Геометрической прогрессией называется последовательность чисел b_1, \, b_2, \ldots, b_nb1​,b2​,…,bn​, каждое из которых, начиная с b_2b2​, получается из предыдущего умножением на одно и то же постоянное число qq (знаменатель прогрессии), то есть

b_n=b_{n−1}\cdot qbn​=bn−1​⋅q

Если известен первый член прогрессии и её знаменатель, то nn-ый член геометрической прогрессии находится по формуле

b_n=b_1\cdot q^{n-1}bn​=b1​⋅qn−1

Входные данные
На вход программе подаётся три целых числа: b_1b1​, qq и nn, каждое на отдельной строке.

Выходные данные
Программа должна вывести nn-ый член геометрической прогрессии.

b1 = int(input())
q = int(input())
n = int(input())
print(b1 * q ** (n-1))

Расстояние в метрах

Напишите программу, которая находит полное число метров по заданному числу сантиметров.

Формат входных данных
На вход программе подаётся натуральное число – количество сантиметров.

Формат выходных данных
Программа должна вывести одно число – полное число метров.

cm = int(input())
m = cm // 100
print(m)

Мандарины

nn школьников делят kk мандаринов поровну, неделящийся остаток остается в корзине. Сколько целых мандаринов достанется каждому школьнику? Сколько целых мандаринов останется в корзине?

Формат входных данных
На вход программе подаётся два целых числа: количество школьников и количество мандаринов, каждое на отдельной строке.

Формат выходных данных
Программа должна вывести два числа: количество мандаринов, которое достанется каждому школьнику, и количество мандаринов, которое останется в корзине, каждое на отдельной строке.

sch = int(input())
fru = int(input())
print(fru//sch)
print(fru%sch)

Сама неотвратимость 🌶️

Безумный титан Танос собрал все 6 камней бесконечности и намеревается уничтожить половину населения Вселенной по щелчку пальцев. При этом если население Вселенной является нечетным числом, то титан проявит милосердие и округлит количество выживших в большую сторону. Помогите Мстителям подсчитать количество выживших.

Формат входных данных
На вход дается число целое nn – население Вселенной.

Формат выходных данных
Программа должна вывести одно число – количество выживших.

guys = int(input())
print(guys//2 + guys%2)

Номер купе 🌶️

В купейном вагоне имеется 99 купе с четырьмя местами для пассажиров в каждом. Напишите программу, которая определяет номер купе, в котором находится место с заданным номером (нумерация мест сквозная, начинается с 11).

Формат входных данных
На вход программе подаётся целое число – место с заданным номером в вагоне.

Формат выходных данных
Программа должна вывести одно число – номер купе, в котором находится указаное место.

Решение модуля 2.5 "Поколение Python"
a = int(input())
print((a-1) // 4 + 1)

Пересчет временного интервала

Напишите программу для пересчёта величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.

Формат входных данных
На вход программе подаётся целое число – количество минут.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

min = int(input())
print(min, f'мин - это {min // 60} час {min % 60} минут.')

Трехзначное число

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

Формат входных данных
На вход программе подаётся положительное трёхзначное число.

Формат выходных данных
Программа должна вывести два числа с поясняющим текстом: сумма цифр и произведение цифр.

yeha = int(input())
print('Сумма цифр =', yeha//100 + (yeha % 100) // 10 + yeha%10)
print('Произведение цифр =', (yeha//100) * ((yeha % 100) // 10) * (yeha%10))

Перестановка цифр

Дано трехзначное число \overline{abc}abc, в котором все цифры различны. Напишите программу, которая выводит шесть чисел, образованных при перестановке цифр заданного числа.

Формат входных данных
На вход программе подаётся положительное трёхзначное целое число, все цифры которого различны.

Формат выходных данных
Программа должна вывести шесть чисел, образованных при перестановке цифр заданного числа в следующем порядке: abc, \, acb, \, bac, \, bca, \, cab, \, cbaabc,acb,bac,bca,cab,cba.

abc = int(input())
c = abc % 10
b = (abc % 100) // 10
a = abc // 100
print(a, b, c, sep='')
print(a,c,b, sep='')
print(b,a,c, sep='')
print(b,c,a, sep='')
print(c,a,b, sep='')
print(c,b,a, sep='')

Четырёхзначное число

Напишите программу для нахождения цифр четырёхзначного числа.

Формат входных данных
На вход программе подаётся положительное четырёхзначное целое число.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

m = int(input())
m1 = m // 1000
m2 = (m // 100) % 10
m3 = (m // 10) % 10
m4 = m % 10
print("Цифра в позиции тысяч равна", m1)
print("Цифра в позиции сотен равна", m2)
print("Цифра в позиции десятков равна", m3)
print("Цифра в позиции единиц равна", m4)

Следующий модуль 3: Итоговая работа по условным операторам («Поколение Python»).

Понравилась статья? Поделиться с друзьями: