Проверить, являются ли два введенных числа взаимно простыми - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести два числа, напечатать, являются ли они взаимно простыми или нет.

Решение задачи: «Проверить, являются ли два введенных числа взаимно простыми»

textual
Листинг программы
#include <stdio.h>
//обычный алгоритм Евклида через остатки
long Nod(long a, long b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
int main()
{
  printf("input x y:")
  long x, y;
  scanf("%ld%ld", &x, &y);
  printf( (Nod(x, y)==1)?"Coprime numbers":"not coprime numbers");
  return 0;
}

Объяснение кода листинга программы

Код выполняет следующую последовательность действий:

  1. Включает стандартную библиотеку ввода-вывода
  2. Определяет функцию Nod, которая реализует алгоритм Евклида для нахождения НОД двух чисел
  3. Определяет функцию main, которая запрашивает у пользователя ввод двух чисел, затем вызывает функцию Nod для этих чисел и выводит результат на экран
  4. Выводит сообщение input x y:
  5. Объявляет две переменные типа long x и y, которые будут использоваться для хранения введенных пользователем чисел
  6. Использует функцию scanf для считывания двух чисел и сохранения их в переменных x и y
  7. Использует условный оператор if-else для проверки результата функции Nod. Если результат равен 1, то выводит сообщение Coprime numbers, иначе выводит сообщение not coprime numbers
  8. Возвращает 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы