Найти - Пользователи
Полная версия: помогите разобраться как работает программа
Начало » Python для новичков » помогите разобраться как работает программа
1
Romanromaa5999
Добрый день!

программа должна рассчитать наименьшее общее кратное, т.е. мы вводим число a затем число b, и она выводит наименьшее общее кратное:

a = int(input())
b = int(input())
m = a * b
while a != 0 and b != 0:
if a > b:
a %= b
else:
b %= a
print (m // (a + b ))

только непонятно как она работает:
допустим мы ввели числа 9 и 8, т.е. a=9 и b=8.
m = a * b т.е. 9*8=72
if a>b: т.е. if 9>8
a%=b т.е. a=a%b=9%8=1
print(m//(a+b)) т.е. 72//(1+8)=72//9=8
так почему она выдаёт 72?
scidam
Romanromaa5999
так почему она выдаёт 72?

Так как при a=1 и b=8 вы еще не вышли из цикла while, а выйдете из цикла, когда будет b=0, a=1, и тогда 72//1=72.
Romanromaa5999
Спасибо большое, давно над этим думаю.
Romanromaa5999
а почему здесь мы используем and в этом выражении: while a != 0 and b != 0:
разве не or?
Romanromaa5999
а всё я понял. спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB