Сложение двух чисел с использованием рекурсии

CBeginner
Практиковаться сейчас

Введение

В программировании на C мы можем сложить два числа с использованием рекурсии. Рекурсия - это функция, которая вызывает сама себя многократно, пока не будет достигнуто условие завершения. В этом лабе мы создадим C-программу для сложения двух чисел с использованием рекурсии.

Откройте файл main.c

Для начала откройте файл main.c в директории ~/project/. Именно здесь мы напишем нашу C-программу.

Напишите код

Напишите следующий код в файле main.c. Код складывает два числа с использованием рекурсии.

#include <stdio.h>

// Функция для сложения двух чисел с использованием рекурсии
int add(int m, int n)
{
    if(n == 0)
        return m;

    int y = add(m, n-1) + 1;
    return y;
}

int main()
{
    printf("Adding Two Numbers Using Recursion\n");

    int num1, num2, result;
    printf("Enter first number: ");
    scanf("%d", &num1);

    printf("Enter second number: ");
    scanf("%d", &num2);

    result = add(num1, num2);
    printf("Result is: %d", result);

    return 0;
}

Запустите код

Сохраните файл main.c и скомпилируйте и запустите код. Вам должно быть предложено ввести два числа. После ввода чисел программа выведет сумму этих двух чисел.

Разберитесь в коде

Функция add принимает два целых аргумента m и n. Если n равно 0, она возвращает m. Если n не равно 0, она добавляет 1 к результату вызова функции add с параметрами m и n-1.

Функция main запрашивает у пользователя два целых числа, вызывает функцию add для их сложения и выводит результат.

Измените код

Попробуйте изменить функцию add, изменив способ сложения чисел. Например, вместо повторного прибавления 1 вы можете прибавлять 2 или 3. Проверьте код и посмотрите, что произойдет.

Резюме

В этом практическом занятии мы узнали, как создать программу на C для сложения двух чисел с использованием рекурсии. Рекурсия - это мощный инструмент для решения таких задач, и она может быть полезным методом в вашем арсенале программирования.