В первый день а, во второй 1,05*а, в третий 1,1*а и т.д. Получается, каждый день коэффициент увеличивается на 0.05. Нам надо узнать, в какой день будет 2*а. 2 делим на 0.05=40. ответ: через 40 дней.
var n,a,k,sum,i,j: integer; s: string; begin sum:=0; write ('Введите количество чисел: '); readln (n); for i:=1 to n do begin write ('Введите число: '); readln (a); Str(a,s); k:=0; for j:=1 to length(s) do if s[j]='5' then k:=k+1; if k=2 then sum:=sum+a; end; writeln ('Sum = ',sum); end.
2 вариант через div и mod
var n,a,x,k,sum,i: integer; begin sum:=0; write ('Введите количество чисел: '); readln (n); for i:=1 to n do begin write ('Введите число: '); readln (a); x:=abs(a); k:=0; while x>0 do begin if x mod 10 =5 then k:=k+1; x:=x div 10; end; if k=2 then sum:=sum+a; end; writeln ('Sum = ',sum); end.
пример результата:
Введите количество чисел: 3 Введите число: 550001 Введите число: -550000 Введите число: 123456 Sum = 1
Предположим, что фальшивая монета легче подлинной. Разделим монеты на группы по 15 и одну монету отложим в сторону. Взвесим группы по 15. Если весы находятся в равновесии, то фальшивая монета отложена. Если же одна из чаш весов оказалась легче, то фальшивая монета там. 15 монет из легкой чаши снова разделим на 7, 7 и монета в стороне. Повторим взвешивание. Если фальшивая монета не найлена, то из более легкой чаши монетки разделим на 3, 3 и одну. Повторим взвешивание с лекгой чашей в четвертый раз. 1, 1 и монета в стороне. Фальшивка найдена не более чем за 4 взвешивания.
begin
readln(a);
s:=a;
k:=0;
while s<2*a do
begin
s:=s*1.05;
k:=k+1;
end;
writeln('k = ',k);
end.
Пример:
4
k = 15