42file, 44file, 4file4, file44
вариант A
сравнение идет посимвольно, слева навправо. Сравниваются коды символов Alt+48 это символ '0', 49 - '1', Alt+97 это символ 'a', 98 - символ 'b'
42file < 44file т.к. '2' < '4'
44file < 4file4 т.к. '4' < 'f' коды(56 < 102)
4file4 < file44 т.к. '4' < 'f'
C=25, d=2
т.к.:
1 круг
100/2=50 остаток 0
выполняем цикл
с=50, d=1
2 круг:
50/2=25 остаток 0
выполняем цикл
c=25, d=2
3 круг
25/2=12 остаток 1 (условие не соблюдено)
выходим из цикла
осталось c=25, d=2
Функция isSevenHere возвращает истину, если в числе есть семерка, и ложь - если ее нет. В цикле for перебираем все значения от 1 до K (число, введенное с клавиатуры), и выводим на экран только те, где есть семерка.
Код программы:
function isSevenHere(number : integer) : boolean;var digit : integer;begin Result := true; while (number > 0) do begin digit := number mod 10; if (digit = 7) then exit; number := number div 10; end; Result := false;end;
var i,k :integer;begin write('Введите k: '); readln(k);
for i := 1 to k do if (isSevenHere(i) = true) then write(i,' ');end.
В одном байте 8 бит, следовательно у тебя уже 1536 байт, в одном килобайте 1024 байт, следовательно у тебя 1,5 килобайт.
Ответ: 3.
<em>"Жадный" алгоритм</em>
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var k:=Arr(1,2,5,10); // номиналы монет
var m:=ReadArrInteger('Кол-во монет по '+k.JoinIntoString+' руб:',4);
var n:=ReadInteger('Сумма в купюрах, руб:');
if m.Zip(k,(p,q)->p*q).Sum<n then begin // нехватка монет
Writeln('Размен невозможен'); exit
end;
var s:=''; // для результатов
for var i:=k.Length-1 downto 0 do
if (n>=k[i]) and (m[i]>0) then begin // номинал участвует
var t:=min(n div k[i],m[i]); // кол-во монет
n:=n-k[i]*t; // остаток
if s.Length>0 then s+=', ';
s+=t+' по '+k[i]+' руб.';
end;
if n<>0 then Writeln('Размен невозможен')
else Writeln(s)
end.
<u>Примеры</u>
Кол-во монет по 1 2 5 10 руб: 350 215 86 130
Сумма в купюрах, руб: 1526
130 по 10 руб., 45 по 5 руб., 1 по 1 руб.
Кол-во монет по 1 2 5 10 руб: 500 146 0 38
Сумма в купюрах, руб: 432
38 по 10 руб., 26 по 2 руб.
Кол-во монет по 1 2 5 10 руб: 10 20 30 40
Сумма в купюрах, руб: 25000
Размен невозможен