1)Отрезок На клетчатой бумаге нарисовали отрезок, соединяющий точки с координатами (a,b) и (c,d). Через сколько клеток проходит этот отрезок (считается, что отрезок проходит через клетку, если он проходит через её внутренность, если же он проходит только через вершину или по границе клетки, считается, что он не проходит через клетку)? Входные данные Программа получает на вход четыре целых числа, записанных в одной строке: a,b,c,d. Все числа по модулю не превосходят 106. Выходные данные Выведите ответ на задачу. Примеры Ввод 0 0 6 4 Вывод 8 2)
Диофантово уравнение
Даны натуральные числа a, b, c. Если уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное значение, и выведите это решение (два числа x и y через один пробел). Если решения не существует, то выведите −1.
Входные данные
Входные данные — натуральные числа a, b и c. Числа заданы на одной строке через пробел и не превышают 109.
Выходные данные
Выведите ответ на задачу.
Примеры
Ввод
1 2 3
2 2 2
Вывод
1 1
0 1
3)
Степень
Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу — для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.
Вы решили будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.
Входные данные
Во входном файле содержится единственное число A (1≤A≤109 — на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы «завалить» кого-нибудь…).
Выходные данные
В выходной файл вывести единственное число N.
Примеры
Ввод
8
1
Вывод
4
1
Ответы на вопрос:
отрезок
x1, y1,x2,y2 = map(int, input().split())
def nod(a, b):
--if b > 0:
----return nod(b, a%b)
--else:
----return a
a = abs(x1 - x2)
b = abs(y1 - y2)
d = nod(a, b)
print(d * (a//d + b//d - 1))
уравнение
def gcd(a, b):
----while a != 0 and b != 0:
--------if a < b:
------------b = b % a
--------else:
-----------a = a % b
----return a + b
def qwer(a, b):
----x = 1
----x1 = 0
----y = 0
----y1 = 1
----while b != 0:
--------q = a // b
--------r = a % b
--------x2 = x - q * x1
--------y2 = y - q * y1
--------a, b = b, r
--------x, x1 = x1, x2
--------y, y1 = y1, y2
----return str(a), str(x), str(y)
a, b, c = list(map(int, input().split()))
x, y = 0, 0
gcds = 0
if c % gcd(a, b) != 0:
----print('-1')
else:
----gcds, x, y = map(int, qwer(a, b))
----x *= c // gcds
----y *= c // gcds
----q = x // (b // gcds)
----x %= b // gcds
----y += a // gcds * q
----print(x, y)
Популярно: Информатика
-
dimapavlov200717.01.2021 04:33
-
СВЕТЛАНУШЕНЬКА16.10.2022 00:10
-
Vainax20.10.2020 05:12
-
Pacan4ikForever02.01.2022 15:16
-
katsden23.01.2021 08:49
-
Іруна16.06.2022 13:51
-
Asil123103.06.2020 23:07
-
lizokturina21.10.2021 04:31
-
tvojrulet1630.08.2020 17:59
-
KenDipp06.03.2020 02:59