Program abc;
var a:array[1..6] of integer;
var i,s: integer;
begin
i:=0;a[1]:=500;a[2]:=100;a[3]:=10;a[4]:=5;a[5]:=2;a[6]:=1;
writeln('Введите целое число,сумму денег:');
readln(s);
while s<>0 do
begin
if s>=a[1] then begin
s:=s-a[1]; i:=i+1; end;
if (s>=a[2]) and (s<a[1]) then begin s:=s-a[2]; i:=i+1; end;
if (s>=a[3]) and (s<a[2]) then begin s:=s-a[3]; i:=i+1; end;
if (s>=a[4]) and (s<a[3]) then begin s:=s-a[4]; i:=i+1; end;
if (s>=a[5]) and (s<a[4]) then begin s:=s-a[5]; i:=i+1; end;
if (s>=a[6]) and (s<a[5]) then begin s:=s-a[6]; i:=i+1; end;
end;
Writeln('Наименьшее число купюр =',i);
end.
Вот так, через логарифм:
exp(ln(a+1) / 3)
Иван: французский, китайский. Антон: немецкий, японский. Пётр: шведский, греческий.
Поясняю на сколько это возможно. 2) Антон не знает шведский и французский. 3)Пётр (он самый высокий - пункт 1) не знает французский. Значит, французский - Иван. 4) Пётр не знает яп. и кит. 5) Антон не знает кит. и греч.
4),5) => китайский - Иван.
С Иваном разобрались...
2),5) => Антон не знает греческий и шведский (фр. и кит. уже у Ивана). Значит, их знает Пётр. Антону, в таком случае, достаются немецкий и японский. Надеюсь, понятно.
Думаю что 2, точного ответа нет, но скорей всего 2 .
Может 2278 байтов??? ?
тогда решение будет такое:
Количество символов тексте: N=2i
i-?
I=K×i → i=I/K
I= 2278 (байтов) = 2278×8 =18224(бит)
К (число символов в сообщении) =10×67+2×(29×67) = 670+3886 = 4556 (символов)
i= 18224(бит) / 4556 (символов) = 4 (бит)
<span>N=2 в 4 степени = 16 (символов)</span>