Рекурсия: функция сложения двух чисел, используя только прибавление единицы - C (СИ)

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
int plus(int operand1, int operand2, int iter) {
    if (abs(iter)<abs(operand2)) 
        return plus(operand1+(operand2<0? -1: 1), operand2, iter + (operand2<0? -1: 1));
    else 
        return operand1;       
}
 
int main(int argc, char** argv) {
 
    int oper1, oper2;
    scanf("%d", &oper1);
    scanf("%d", &oper2);
    printf("Result = %d", plus(oper1, oper2, 0));
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с числами и вводом-выводом
  2. Определение функции plus, которая реализует рекурсивную операцию сложения двух чисел
  3. В функции main считываются два числа с помощью функции scanf
  4. С помощью функции plus происходит сложение двух чисел
  5. Результат выводится на экран с помощью функции printf
  6. Функция plus осуществляет рекурсивное сложение двух чисел. Если модуль результата (iter) меньше модуля второго числа (operand2), то происходит рекурсивный вызов функции plus с увеличенным на единицу (или на -1, если второе число отрицательное) значением первого числа (operand1), увеличенным на единицу (или на -1, если второе число отрицательное) значением второго числа (operand2) и увеличенным на единицу (или на -1, если второе число отрицательное) значением iter. Если модуль результата (iter) больше или равен модулю второго числа (operand2), то возвращается первое число (operand1)
  7. В функции main считываются два числа с помощью функции scanf. Первое число считывается в переменную oper1, второе число считывается в переменную oper2
  8. Результат сложения двух чисел выводится на экран с помощью функции printf
  9. Программа завершается возвратом значения 0 из функции main, что означает корректное завершение работы программы

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


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

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

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