Предмет: Информатика, автор: abdulhalekshabnam

Срочно если сделайте на Python то отмечу как хороший ответ!!!!! если за 20 мин то дам 50 баллов ‼️‼️‼️‼️​

Приложения:

Ответы

Автор ответа: Аноним
1
Упражнение 1:
a = int(input("Введите первое число: "))
b = int(input("Введите второе число: "))

count = 0 # счетчик количества шагов цикла

while b != 0:
a, b = b, a % b
count += 1

print("НОД =", a)
print("Количество шагов цикла:", count)

Упражнение 2:
count = 0 # счетчик количества чисел в потоке

while True:
num = int(input("Введите число: "))
if num == 0:
break
count += 1

print("Количество чисел в потоке:", count)

Упражнение 3:
product = 1 # переменная для хранения произведения
num = 1 # начальное значение числа

while num != 0:
num = int(input("Введите число: "))
if num != 0:
product *= num

print("Произведение чисел в потоке:", product)
Дополнительное задание:
(не знаю правильно ли получится)

def euclid_algorithm(a, b):

Обычный алгоритм Евклида для нахождения НОД

count = 0
while b != 0:
a, b = b, a % b
count += 1
return a, count

def modified_euclid_algorithm(a, b):
"""
Модифицированный алгоритм Евклида для нахождения НОД
"""
count = 0
while b != 0:
a = a % b
a, b = b, a
count += 1
return a, count

Теперь мы можем вызвать обе функции для заданных чисел и сравнить количество шагов:

a = int(input("Введите первое число: "))
b = int(input("Введите второе число: "))

gcd, count1 = euclid_algorithm(a, b)
print(f"Обычный алгоритм Евклида: НОД = {gcd}, количество шагов = {count1}")

gcd, count2 = modified_euclid_algorithm(a, b)
print(f"Модифицированный алгоритм Евклида: НОД = {gcd}, количество шагов = {count2}")

if count1 < count2:
print("Обычный алгоритм быстрее")
elif count2 < count1:
print("Модифицированный алгоритм быстрее")
else:
print("Оба алгоритма выполняются за одинаковое количество шагов")
Похожие вопросы