Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 5, а потом 9. ответ обосновать.
var s : string[50]; i, j, k : word; f : boolean; function isSpace(ch : char) : boolean; begin isSpace := false; if ch = ' ' then isSpace := true; end; begin f := false; repeat j := 0; writeln('введите строку, состоящую из 2 слов'); readln(s); for i := 1 to length(s) do if isSpace(s[i]) then begin inc(j); k := i; end; if j =1 then f := true; until f; write(copy(s, k + 1, length(s)), ' ', copy(s, 1, k - 1)); end. недавно такую писала :)
627
Объяснение:
Для нахождения x немного изменим код программы - добавим цикл с условием
var
x,a,b,n: longint;
begin
n:=0;
while (a<>5) or (b<>9) do begin
a:=0; b:=0; x:=n;
while x>0 do begin
if x mod 2=0 then
a:=a+x mod 3
else
b:=b+x mod 5;
x:= x div 3
end;
inc(n);
//writeln(n,' ',a,' ', b); // вывод пошагового решения, если надо
end;
writeln(n);
end.