Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 18. var x, a, b: integer; begin readln(x); a :=...
Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 18.
var x, a, b: integer;
begin readln(x); a := 0; b := 1;
while x > 0 do begin a := a+1;
b := b*(x mod 100);
x := x div 100;
end;
writeln(a);
write(b);
end.
Ответ(ы) на вопрос:
Гость
procedure GetAB(x: integer; var a: integer; var b: integer);
begin
a := 0;
b := 1;
while x > 0 do
begin
a := a + 1;
b := b * (x mod 100);
x := x div 100;
end;
end;
var
x, a, b: integer;
begin
for x := 10000 to 2000000000 do
begin
GetAB(x, a, b);
if (a = 3) and (b = 18) then
Println(a, b, x);
end;
end.
выдает такие значения
3 18 10118
3 18 10209
3 18 10306
3 18 10603
3 18 10902
3 18 11801
3 18 20109
3 18 20303
3 18 20901
3 18 30106
3 18 30203
3 18 30302
3 18 30601
3 18 60103
3 18 60301
3 18 90102
3 18 90201
3 18 180101
Выделенное наибольшее
Не нашли ответ?
Похожие вопросы