3 Модуль. Целочисленная арифметика.
Операции целочисленного деления и взятия остатка
Операция деления (/) для целых чисел всегда возвращает значение типа float, даже если делимое делится нацело на делитель. Часто бывает необходимым выполнить деление с целочисленным результатом. Для этого в Python есть специальная операция целочисленного деления, которая обозначается //. Результатом будет число, которое было бы получено в результате деления, но с отброшенной дробной частью. Другая связанная с этим операция — это операция взятия остатка от деления, обозначаемая %.
>>> 17 / 3
5.6666666666667
>>> 17 // 3
5
>>> 17 % 3
2
В случае отрицательных чисел операции по-разному определены в различных языках программирования. Например, в Python 3 округление по-прежнему будет производится вниз. Например:
>>> (-17) // 3
-6
>>> (-17) % 3
1
Задача 1.
Расписание уроков
В некоторой школе расписание составлено таким образом, что на неделе 5 учебных дней, в которые суммарно проходит n уроков. При этом количество уроков в любые два дня отличается не более чем на 1. Определите минимальное число уроков в день и количество дней, в которых уроков больше всего.
Решение
n=int(input())
print(n // 5)
print(n % 5)
Задача 2.
В магазине батарейки продаются поштучно или упаковками по 4 штуки. Выгоднее покупать батарейки упаковками, чем поштучно. Вам необходимо купить ровно n батареек. Определите, сколько упаковок батареек и батареек поштучно надо купить, чтобы покупка была максимально выгодной?
Решение
n=int(input())
print(n // 4, n % 4)
Дано трёхзначное число. Найдите сумму его цифр.
Решение
n=int(input())
d3= n % 10
d2= n // 10 % 10
d1= n // 100
print(d1 + d2 + d3)
Задача 4.
n школьников делят между собой k яблок поровну, неделящийся остаток остаётся в корзинке. Сколько яблок достанется каждому школьнику? Сколько яблок останется в корзинке?
Программа получает на вход в первой строке натуральное число n, а во второй — целое неотрицательное число k, и должна вывести два целых числа: количество яблок у каждого школьника и количество яблок, оставшихся в корзинке.
Задача 5.
Феофилакт хочет купить ракетки и шарики для игры в настольный теннис. Один комплект ракеток стоит A рублей, один шарик стоит B рублей. У Феофилакта есть C рублей, C≥A, он покупает один комплект ракеток и шарики на оставшиеся деньги. Сколько шариков купит Феофилакт?
Программа получает на вход три целых числа: A, B, C. Программа должна вывести ответ на задачу.
Задача 6.
Дано натуральное число. Найдите число десятков в его десятичной записи (то есть предпоследнюю цифру его десятичной записи). Если заданное число является однозначным, то необходимо вывести 0.
Задача 7.
Дано четырёхзначное число. Найдите сумму его цифр.
Задача 8.
С начала некоторых суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент.
На вход программе подается целое неотрицательное число n.
Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59).
Задача 9.
Из проволоки толщиной d миллиметров сделали кольца. Внутренний радиус каждого кольца составляет R миллиметров. Всего сделали n колец и их соединили в цепь. Определите длину получившейся цепи L. На рисунке изображен пример для n=3.
Задача 10.
Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков.
Программа получает на вход три числа: a, b, n, и должна вывести два числа: стоимость покупки в рублях и копейках.
Задача 11.
n школьников делят k яблок “почти поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1.
Программа получает на вход натуральное число n и целое неотрицательное число k, каждое в отдельной строке, и должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей.
Задача 12.
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров?
Программа получает на вход в первой строке натуральное число n и во второй строке целое неотрицательное число m.
Задача 13.
В некоторой школе решили набрать три новых математических класса и оборудовать кабинеты для них новыми партами. За каждой партой могут сидеть двое учащихся. Известно количество учащихся в каждом из трёх классов. Определите, какое наименьшее число парт, которое нужно приобрести для них. Обратите внимание, что школьники из разных классов не могут сидеть за одной партой.
Программа получает на вход три неотрицательных целых числа: количество учащихся в каждом из трёх классов, каждое в отдельной строке. Программа должна вывести ответ на задачу.
Задача 14.
На каждой странице книги напечатано ровно k строк: на первой странице находятся строки с 1 по k, на второй — c k+1 по 2k и т.д. Определите, на какой странице находится строка номер n и какой по счёту будет эта строка на странице.
Даны натуральные числа k и n, каждое в отдельной строке. Программа должна считать их и вывести два числа: номер страницы и номер строки на странице.
Задача 15
Шахматная доска состоит из n×m клеток, покрашенных в чёрный и белый цвет в шахматном порядке. При этом клетка в левом нижнем углу доски покрашена в чёрный цвет. Определите, сколько всего на доске чёрных клеток.
Программа получает на вход натуральные числа n и m. Программа должна вывести ответ на задачу.
Задача 16.
Дано целое число n. Выведите следующее за ним чётное число.
Задача 17.
Дано целое неотрицательное число, меньшее 10000. Если число имеет меньше 4 знаков в десятичной записи, то нужно считать, что его десятичная запись дополняется слева незначащими нулями (например, число 120 дополняется до 0120). Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число.
Задача 18.
Напишите программу, которая считывает два натуральных числа a и b и выводит наибольшее значение из них.
При решении задачи можно пользоваться только целочисленными арифметическими операциями +, −, ∗, //, %, =. Нельзя пользоваться такими конструкциями как: ветвления, циклы, функции.