Для таких задач используется формула, называемая "сложный процент"
Здесь А - начальное значение, В - ежегодный процент, n - количество лет, х - результирующее значение. По условию x=A×m, откуда можно найти n, затем округлив его до ближайшего большего целого.
Получается, что значение А в условии является лишним.
// 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.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:array[1..3] of string; var l:array[1..3] of integer; for var i:=1 to 3 do begin Write('Город ',i,': '); Readln(a[i]); l[i]:=Length(a[i]) end; var imin:=1; var imax:=1; for var i:=2 to 3 do begin if l[i]<l[imin] then imin:=i; if l[i]>l[imax] then imax:=i end; Writeln('Самое длинное название- ',a[imax]); Writeln('Самое короткое название- ',a[imin]) end.
Тестовое решение Город 1: Москва Город 2: Минск Город 3: Киев Самое длинное название- Москва Самое короткое название- Киев
Здесь А - начальное значение, В - ежегодный процент, n - количество лет, х - результирующее значение.
По условию x=A×m, откуда можно найти n, затем округлив его до ближайшего большего целого.
Получается, что значение А в условии является лишним.
// 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
begin
var a:array[1..3] of string;
var l:array[1..3] of integer;
for var i:=1 to 3 do begin
Write('Город ',i,': '); Readln(a[i]);
l[i]:=Length(a[i])
end;
var imin:=1; var imax:=1;
for var i:=2 to 3 do begin
if l[i]<l[imin] then imin:=i;
if l[i]>l[imax] then imax:=i
end;
Writeln('Самое длинное название- ',a[imax]);
Writeln('Самое короткое название- ',a[imin])
end.
Тестовое решение
Город 1: Москва
Город 2: Минск
Город 3: Киев
Самое длинное название- Москва
Самое короткое название- Киев