Учебно-методические материалы для студентов кафедры АСОИУ

Python 3. Задачи на целочисленную арифметику

Задача: Дано два числа a и b. Выведите гипотенузу треугольника с заданными катетами.

Решение

a = int(input())
b = int(input())
c = float((a*a + b*b)**(0.5))
print (c)

Задача: Напишите программу, которая считывает целое число и выводит текст, аналогичный приведенному в примере (пробелы важны!):

Пример входных данных:

179

Результат:

The next number for the number 179 is 180.
The previous number for the number 179 is 178.

Решение

a = int(input(''))
print ('The next number for the number '+ str(a) +' is '+str(a+1)+'.')
print ('The previous number for the number '+ str(a) +' is '+str(a-1)+'.')

Задача: n школьников делят k яблок поровну, неделяющийся остаток остается в корзинке. Сколько яблок останется в корзинке?

Решение

n = int(input('')) #schoolboys
k = int(input('')) #apples
print(k%n) #result

Задача: Дано натуральное число (гарантируется, что оно не превышает 10000). Выведите его последнюю цифру.

Решение

n = int(input('')) #input a number
print (n%10) #result

Задача: Дано натуральное число. Найдите число десятков в его десятичной записи.

Решение

n = int(input('')) #input an integer
print (n//10%10) #result

Задача: Имеется N кг металлического сплава. Из него изготавливают заготовки массой K кг каждая. После этого из каждой заготовки вытачиваются детали массой M кг каждая (из каждой заготовки вытачивают максимально возможное количество деталей). Если от заготовок после этого что-то остается, то этот материал возвращают к началу производственного цикла и сплавляют с тем, что осталось при изготовлении заготовок. Если того сплава, который получился, достаточно для изготовления хотя бы одной заготовки, то из него снова изготавливают заготовки, из них— детали и т.д.

Напишите программу, которая вычислит, какое количество деталей может быть получено по этой технологии из имеющихся исходно N кг сплава.

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

Программа получает на вход три натуральных числа.

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

Выведите одно число — количество деталей, которое может получиться по такой технологии.

Решение

M = int(input()) #исходная масса металла
Mz = int(input()) #масса заготовки
Md = int(input()) #масса детали
x = 0
while (M >= Mz) and (Mz >= Md):
t = M // Mz * (Mz // Md)
M = M - t * Md
x = x + t
print (x)

CC-BY-CA anonymous, 01.06.2017