Составить алгоритм и написать функцию, которая находит наибольший общий делитель натуральных чисел а и б - C (СИ)

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

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

Составить алгоритм и написать функцию, которая находит наибольший общий делитель натуральных чисел а и б.

Решение задачи: «Составить алгоритм и написать функцию, которая находит наибольший общий делитель натуральных чисел а и б»

textual
Листинг программы
#include<stdio.h>
#include<conio.h>
int nod(int a,int b)
{
    int c;
    if(b>a)
    c=nod(b,a);
    else if(b<=0)
    c=a;
    else c=nod(b,a%b);
    return(c);
}
int main()
{
    int a,b;
    fflush(stdin);
    puts("1-e chislo = ");
    scanf("%d",&a);
    puts("2-e chislo = ");
    scanf("%d",&b);
    printf("nod chisel = %d",nod(a,b));
    getch();
}

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

  1. Включаем необходимые заголовочные файлы
  2. Определяем функцию nod(int a,int b), которая находит наибольший общий делитель натуральных чисел а и b
  3. Объявляем переменную c, которая будет хранить результат
  4. Проверяем условие, если b больше или равно a, то вызываем рекурсивно функцию nod, меняя местами значения a и b
  5. Если b меньше или равно нулю, то c присваивается значение a
  6. Иначе, c присваивается результат вызова функции nod, где вторым аргументом является остаток от деления a на b
  7. Возвращаем значение c из функции
  8. В функции main() объявляем переменные a и b, считываем их значения с помощью scanf
  9. Вызываем функцию nod с значениями a и b и выводим результат на экран с помощью printf
  10. Ждем нажатия клавиши с помощью getch

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

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