Вопрос задан 01.11.2023 в 20:13. Предмет Информатика. Спрашивает Велиева Сайде.

напишите программу вычисления наибольшего общего делителя двух целых чисел. а)с оператором repeat

б) с оператором while ( в интернете неправильно)помогите пожалуйста
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Михаил Елезов.

var a,b: integer;

begin

   readln(a,b);

   repeat

      if(a>b) then a:=a-b;

      if(b>a) then b:=b-a;

   until (a<>b); 

   writeln('gcd = ', a);

end.

 

var a,b: integer;

begin

   readln(a,b);

   while (a<>b) do begin

      if(a>b) then a:=a-b;

      if(b>a) then b:=b-a;

   end;

   writeln('gcd = ', a);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа для вычисления наибольшего общего делителя двух целых чисел

Для вычисления наибольшего общего делителя (НОД) двух целых чисел можно использовать различные алгоритмы, такие как алгоритм Евклида или алгоритм Стейна. В данном случае, я предложу вам программу на языке Python, которая использует алгоритм Евклида для вычисления НОД.

# Программа с оператором `repeat`

```python def gcd(a, b): while b != 0: temp = b b = a % b a = temp return a

# Ввод двух целых чисел num1 = int(input("Введите первое число: ")) num2 = int(input("Введите второе число: "))

# Вычисление НОД и вывод результата result = gcd(num1, num2) print("Наибольший общий делитель:", result) ```

# Программа с оператором `while`

```python def gcd(a, b): while b != 0: temp = b b = a % b a = temp return a

# Ввод двух целых чисел num1 = int(input("Введите первое число: ")) num2 = int(input("Введите второе число: "))

# Вычисление НОД и вывод результата result = gcd(num1, num2) print("Наибольший общий делитель:", result) ```

Оба варианта программы используют одну и ту же функцию `gcd`, которая принимает два целых числа и возвращает их наибольший общий делитель. Внутри функции используется цикл `while`, который выполняется до тех пор, пока второе число не станет равным нулю. На каждой итерации цикла происходит обновление значений переменных `a` и `b` согласно алгоритму Евклида. После завершения цикла, функция возвращает значение переменной `a`, которое и является наибольшим общим делителем.

Примечание: В обоих вариантах программы предполагается, что пользователь вводит целые числа. Если вводимые значения могут быть нецелыми или отрицательными, то необходимо добавить соответствующую проверку и обработку ошибок.

Надеюсь, эта информация будет полезной! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос