Паскаль. сумму в s руб. положили в банк. при этом прибыль составляет k % в год от первоначальной суммы. через какой срок сумма вклада увеличится в x раз?
Смешная задача. Если каждый год к первоначальной сумме прибавляется S×k/100, то за n лет прибавка составит S×k×n/100, а общая сумма составит S+S×k×n/100. И эта сумма должна быть больше или равна x×S. S+S×k×n/100 ≥ x×S 1+k×n/100 ≥ x k×n/100 ≥ x-1 n ≥ 100×(x-1)/k, округленное до ближайшего большего целого.
Как видно, сумма S вообще не нужна, а прочее легко вычисляется на калькуляторе и даже "в столбик". Но Паскаль, так Паскаль...
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var (k,x):=ReadReal2('Введите процент k и кратность x:'); Writeln('Требуется лет: ',Ceil(100*(x-1)/k)) end.
Пример Введите процент k и кратность x: 13.5 3 Требуется лет: 15
Если каждый год к первоначальной сумме прибавляется S×k/100, то за n лет прибавка составит S×k×n/100, а общая сумма составит S+S×k×n/100.
И эта сумма должна быть больше или равна x×S.
S+S×k×n/100 ≥ x×S
1+k×n/100 ≥ x
k×n/100 ≥ x-1
n ≥ 100×(x-1)/k, округленное до ближайшего большего целого.
Как видно, сумма S вообще не нужна, а прочее легко вычисляется на калькуляторе и даже "в столбик". Но Паскаль, так Паскаль...
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
var (k,x):=ReadReal2('Введите процент k и кратность x:');
Writeln('Требуется лет: ',Ceil(100*(x-1)/k))
end.
Пример
Введите процент k и кратность x: 13.5 3
Требуется лет: 15