Рекурсия. Вычислить наибольший общий делитель двух натуральных чисел - C (СИ)

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

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

1) S=a!-cos(a) 2) Вычислить наибольший общий делитель двух натуральных чисел

Решение задачи: «Рекурсия. Вычислить наибольший общий делитель двух натуральных чисел»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
int f(int x)
{
    if(x == 1)
       return 1;
    else
       return x*f(x-1);
}
 
main()
{
   int x;
   printf("Enter x:");
   scanf("%d",&x);
   printf("%.4lf",f(x)-cos(x));
}

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

  1. Включаем необходимые заголовочные файлы и
  2. Определяем функцию f(x) с одним аргументом типа int
  3. Если x равно 1, то возвращаем 1
  4. Иначе, возвращаем результат умножения x на f(x-1)
  5. В функции main() считываем значение переменной x с помощью scanf
  6. Выводим результат вычисления f(x) с помощью printf, добавляя символ %.4lf для указания вывода с плавающей точкой
  7. В результате вычисления f(x)-cos(x) получаем число, но для понимания сути кода, необходимо заметить, что функция f(x) вычисляет наибольший общий делитель (НОД) двух натуральных чисел, а функция cos(x) вычисляет косинус числа x.

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


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

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

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