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. недавно такую писала :)
Пусть исходное число будет abc, где a - первая цифра, b - вторая, c - третья.
b,c - цифры => они принимают целые значения от 0 до 9. Так как число трехзначное, то a не может быть равно 0 => a принимает целые значения от 1 до 9.
Произведение двух цифр не превосходит 9*9=81.
Ищем произведения цифр в числе 123:
1 и 23 - неверно(1=1*1, но 23=1*c=> c=23>9)
12 и 3 - верно(1*3 и 3*4, записаны в порядке убывания)
Нам нужно найти наименьшее число, значит значения a и b как первых цифр числа должны быть минимальны.
По условию:
a*b=3
b*c=12
Подбираем значения a,b и c:
a=1; b=3; c=12/3=4 - верно, число 134
a=3; b=1; c=12/1=12 - неверно
В итоге, получили, что число 134 - минимальное.
ответ: 134
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.
недавно такую писала :)