Найти площадь и периметр прямоугольного треугольника по двум заданным катетам


while n > 0: b = str(n % 2) + b n = n // 2   print



бет18/34
Дата05.01.2022
өлшемі186,75 Kb.
#129167
1   ...   14   15   16   17   18   19   20   21   ...   34
Байланысты:
шпор

while n > 0:

b = str(n % 2) + b

n = n // 2

 

print(b)

Пример выполнения:

8

1000



Алгоритм нахождения НОД делением

  1. Большее число делим на меньшее.

  2. Если делится без остатка, то меньшее число и есть НОД (следует выйти из цикла).

  3. Если есть остаток, то большее число заменяем на остаток от деления.

  4. Переходим к пункту 1.

Пример:
Найти НОД для 30 и 18.
30 / 18 = 1 (остаток 12)
18 / 12 = 1 (остаток 6)
12 / 6 = 2 (остаток 0)
Конец: НОД – это делитель 6.
НОД (30, 18) = 6

a = 50


b = 130

 

while a != 0 and b != 0:



if a > b:

a = a % b



else:

b = b % a

 

print(a + b)

В цикле в переменную a или b записывается остаток от деления. Цикл завершается, когда хотя бы одна из переменных равна нулю. Это значит, что другая содержит НОД. Однако какая именно, мы не знаем. Поэтому для НОД находим сумму этих переменных. Поскольку в одной из переменных ноль, он не оказывает влияние на результат.





Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   34




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет