СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости



Задания
Версия для печати и копирования в MS Word
Задание 20 № 5812

Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 14, а потом 5.

 

 

БейсикПаскаль

DIM X, А, В, С AS INTEGER

INPUT X

А = 0: В = 10

WHILE X > 0

    С = X MOD 10

    А = А + С

    IF С < В THEN В = С

    X = X \ 10

WEND

PRINT А

PRINT В

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 10;

    while x>0 do

        begin

            с := x mod 10;

            a := a+c;

        if c < b then b := c;

        x := x div 10;

        end;

    writeln(a); write(b);

end.

Си++Алгоритмический

#include <iostream>

using namespace std;

int main()

{

    int x, a, b, c;

    cin >> x ;

    a = 0; b = 10;

    while (x>0) {

        с = x%10;

        a = a+c;

        if (c < b)

            b = c;

        x = x /10;

    }

    cout << a << endl << b endl;

}

алг

нач

цел х, а, b, с

ввод X

а := 0; b := 10

нц пока х>0

    с := mod(х,10)

    а := а+с

    если с<b

        то b := с

    все

    х := div(х,10)

кц

вывод а, не, b

кон

Python

x = int(input())

a = 0

b = 10

while x > 0:

    с = x % 10

    a += c

    if c < b:

        b = c

    x //= 10

print(a)

print(b)

 

Решение.

Рассмотрим цикл, число шагов которого зависит от изменения переменной x:

 

while x > 0 do begin

...

x:= x div 10;

end;

 

Т. к. оператор div оставляет только целую часть от деления, то при делении на 10 это равносильно отсечению последней цифры.

 

Из приведенного цикла видно, что на каждом шаге от десятичной записи x отсекается последняя цифра до тех пор, пока все цифры не будут отсечены, то есть x не станет равно 0; поэтому цикл выполняется столько раз, сколько цифр в десятичной записи введенного числа.

 

При этом, переменной c присваивается остаток от деления x на 10, переменная a увеличивается на остаток от деления х на 10. Если остаток от деления x на 10 меньше переменной b, то переменной b присваивается значение переменной c. Поскольку требуется ,чтобы программа напечатала сначала 14, необходимо, чтобы сумма цифр числа x была равна 14. Поскольку вторым должно быть напечатано число 5, необходимо, чтобы первой цифрой числа x была цифра 5. Наименьшее такое число — 59.

 

Ответ: 59.


Аналоги к заданию № 5492: 6006 5748 5780 5812 5844 5876 5908 5940 6268 6308 ... Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 30.05.2013. Ос­нов­ная волна. Урал. Ва­ри­ант 5.