Какую сумму надо положить в банк, выплачивающий 4% простых в год, чтобы получить 5 000 руб.: а) через 4 месяца, б) через 1 год, в) через 2 года 9 месяцев?
#include < iostream> using namespace std; int main() { int n; char letters[] = "abcdefghijklmnopqrstuvwxyz"; while (1) { cout < < "enter n: "; cin > > n; if (n < 1 || n > 26) { cout < < "invalid number " < < n < < "\n"; } else { int i; for (i = 0; i < n; i++) { cout < < letters[n-i-1]; } cout < < "\n"; } } return 0; }
ivanrancev
14.10.2020
Перепишем программу в виде, удобном для анализа алгоритма. var a,b,t,n: integer; function f(x: integer): integer; begin f: =16*(6-x)*(6-x)-450; end; begin a: =-20; b: =20; n: =0; for t: =-20 to 20 do if (f(t)> =0) then n: =n+1; write(n) end. переменные a и b получают начальные значения, но дальше не используются, поэтому их рассматривать не нужно. все переменные в программе объявлены целочисленными, поэтому анализируем алгоритм также в целых числах. переменная t последовательно принимает значения от -20 до 20, следовательно, можно записать, что t ∈ [-20; 20] для каждого t вычисляется значение некоторой функции f(t) и подсчитывается n - количество случаев, когда значение f(t) неотрицательно. найденное n затем выводится. ставится определить значение n. проанализируем функцию f(t). после простого преобразования получаем f(t)=16(6-t)²-450 теперь надо найти решение неравенства f(t)≥0. поскольку решение выполнятся в целых числах, то значение в правой части неравенства достаточно записать с точностью один знак после запятой. на интервале [-20; 20] первому условию удовлетворит 21 точка, второму условию удовлетворят 9 точек. всего получится 21+9=30 точек. ответ: будет выведено число 30
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Какую сумму надо положить в банк, выплачивающий 4% простых в год, чтобы получить 5 000 руб.: а) через 4 месяца, б) через 1 год, в) через 2 года 9 месяцев?