Помогите решить задачу на паскале. Количество граждан некоторого города увеличивается ежегодно на В%. Через сколько лет население города возрастет в m раз, если вначале было А человек.

 Помогите решить задачу на паскале. Количество граждан некоторого города увеличивается ежегодно на В%. Через сколько лет население города возрастет в m раз, если вначале было А человек.
Гость
Ответ(ы) на вопрос:
Гость
//Pascal ABC.NET 3.1 сборка 1256 Var  b,a,m,ar:real;  i:integer; begin readln(b,m,a); i:=0; ar:=a*m; while ar>a do  begin   inc(i);   a:=a*(b/100+1);  end; writeln(i); end. Пример ввода: 33 2 100 Пример вывода: 3
Гость
Для таких задач используется формула, называемая "сложный процент" [latex]\displaystyle x=A\left(1+ \frac{B}{100}\right)^n[/latex] Здесь А - начальное значение, В - ежегодный процент, n - количество лет, х - результирующее значение. По условию x=A×m, откуда можно найти n, затем округлив его до ближайшего большего целого. [latex]\displaystyle Am=A\left(1+ \frac{B}{100}\right)^n; \quad m=\left(1+ \frac{B}{100}\right)^n; \\ \\ \ln(m)=n\ln\left(1+ \frac{B}{100}\right) \to n= \frac{\ln(m)}{\ln\left(1+ \displaystyle \frac{B}{100}\right)} [/latex] Получается, что значение А в условии является лишним. // PascalABC.NET 3.1, сборка 1256 от 21.06.2016 begin   var m:=ReadReal('m=');   var B:=ReadReal('B%=');   Writeln('Кол-во лет равно ',Ceil(Ln(m)/Ln(1+B/100))) end. Тестовые решения m= 2 B%= 33 Кол-во лет равно 3 m= 3.5 B%= 18 Кол-во лет равно 8
Не нашли ответ?
Ответить на вопрос
Похожие вопросы