Задать вопрос
13 января, 12:47

Ниже записан алгоритм. Получив на вход число 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.

+3
Ответы (1)
  1. 13 января, 13:01
    0
    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

    Выделенное наибольшее
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы