Изменить эту программу так, чтобы для вычисления процентов она использовала только целые числа - C (СИ)

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

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

Товарищи, дан пример с книги Дейтелов по расчету суммы денег на конец года на протяжении 10 лет. вот код:
#include <stdio.h>
#include<math.h>
 
main()
{
int year;
double amount, principal = 1000.0, rate = .05;
 
printf("%4s%21s\n", "Year", "Amount on deposit");
 
for(year = 1; year <= 10; year++)
{
amount = principal * pow(1.0 + rate, year);
printf("%4d%21.2f\n", year, amount);
}
}
а в конце темы есть задача в которой предлагается изменить эту программу так чтобы для вычисления процентов она использовала только целые числа. подскажите что нибудь или дайте наводку. спасибо

Решение задачи: «Изменить эту программу так, чтобы для вычисления процентов она использовала только целые числа»

textual
Листинг программы
int pwr(int num, int pow) 
{
  return !pow ? 1 : num * pwr(num, pow - 1);
}
 
amount = principal * pow(105, year);

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

  1. В функции pwr() реализуется рекурсивный алгоритм возведения в степень.
  2. Если значение переменной pow равно 0, то функция возвращает 1.
  3. В противном случае функция вызывает саму себя, передавая в качестве аргументов число num и значение pow уменьшенное на единицу.
  4. Результат рекурсивного вызова функции умножается на num.
  5. Функция заканчивает работу когда значение pow становится равным 0.
  6. В основной программе переменной amount присваивается результат вызова функции pwr(), в которую передаются значения principal и year.
  7. year — это количество лет, в течение которых будут начисляться проценты.
  8. principal — это сумма денежных средств, которая будет увеличена на проценты.
  9. pow(105, year) — это выражение, в котором функция возведения в степень применяется к числу 105 и переменной year.
  10. Результат этого выражения используется как аргумент для функции pwr().
  11. В результате работы программы на экран будет выведено значение переменной amount.
  12. pow() — это функция возведения в степень.
  13. 105 - это основание степени.
  14. year — это показатель степени.
  15. В данном случае функция pow() применяется к числу 105 и переменной year.
  16. Результат этого выражения используется в алгоритме вычисления процентов.
  17. Для вычисления процентов используется только целое число.
  18. Проценты начисляются ежегодно.
  19. Для вычисления процентов необходимо знать основание степени.
  20. В данном случае основание степени равно 105.

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

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