Сложности решения задачи ''Страницы книги''
На каждой странице книги напечатано ровно k строк: на первой странице находятся строки с 1 по k, на второй — c k+1 по 2k и т.д. Определите, на какой странице находится строка номер n и какой по счёту будет эта строка на странице.
Даны натуральные числа k и n, каждое в отдельной строке. Программа должна считать их и вывести два числа: номер страницы и номер строки на странице. В задаче нельзя использовать массивы и условия. Вот мой код
k = int(input())
n = int(input())
a = n//k
b = n%k
print(a, b)
Вводные данные: 50 100
Но получается, так что моя программа не учитывет последнюю 50 строку и переводит на новою страницу.
Ответы (2 шт):
Но получается, так что моя программа не учитывет последнюю 50 строку и переводит на новою страницу.
Это логично, ведь 99//50 = 1, а 100//50 = 2. Чтобы решить эту проблему, вы можете прибегнуть к преобразованию:
k = int(input())
n = int(input())
a = (n-1) // k + 1 # если нумерация страниц с 1. Если нумерация с 0, то +1 нужно убрать
b = (n-1) % k + 1
print(a, b)
k=int(input())
n=int(input())
st=-((-n)//k)
stroka=n-k*(st-1)
print(st,stroka)