Определить прирост суммы за первые k месяцев - C (СИ)
Формулировка задачи:
Добрый день,помогите разобраться с рекурсией,что это такое? и как правильно использовать?!
p.s. формулировка задачи:
Вкладчик банка сделал вклад в размере n рублей под a% в месяц.
a. Определить прирост суммы за первые k месяцев
b. Определить сумму вклада за первые l месяцев
заранее спасибо.
Решение задачи: «Определить прирост суммы за первые k месяцев»
textual
Листинг программы
#include <stdio.h> double _bank_rcsv(double n, const double* a, unsigned k) { return k? _bank_rcsv(n + n * *a, a, k - 1): n; } double bank_rcsv(double n, double a, unsigned k) { return _bank_rcsv(n, &a, k); } int main(void) { double n, a; unsigned k; scanf("%lf%lf%u", &n, &a, &k); printf("%lf", bank_rcsv(n, a, k) - n); scanf("%u", &k); printf("%lf", bank_rcsv(n, a, k)); return 0; }
Объяснение кода листинга программы
- bank_rcsv - функция, которая рекурсивно вычисляет прирост суммы за первые k месяцев
- Входные параметры функции:
- n - начальная сумма
- a - размер ежемесячного прироста
- k - количество месяцев
- Выходной параметр функции - прирост суммы за первые k месяцев
- Если k>0, то функция вызывает саму себя, увеличивая сумму на a и уменьшая k на 1
- Если k=0, то функция возвращает начальную сумму
- main - основная функция программы
- Входные параметры функции:
- n - начальная сумма
- a - размер ежемесячного прироста
- k - количество месяцев
- Выполняется вход в программу и считывание входных данных с помощью функции scanf
- Вызывается функция bank_rcsv для вычисления прироста суммы за первые k месяцев
- Результат вычисления выводится на экран с помощью функции printf
- Выполняется выход из программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д