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


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

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

 

Бей­сикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    IF X MOD 2 = 0 THEN

        A = A + 1

    ELSE

        B = B + X MOD 10

    END IF

    X = X \ 10

WEND

PRINT A

PRINT B

x = int(input())

a=0; b=0

while x > 0:

    if x%2 == 0:

        a += 1

    else:

        b += x%10

    x = x//10

print(a, b)

Пас­кальАл­го­рит­ми­че­ский язык

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

    begin

        if x mod 2= 0 then

            a := a + 1

        else

            b := b + x mod 10;

        x := x div 10;

    end;

    writeln(a); write(b);

end.

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 0

    нц пока x > 0

        если mod(x,2)=0

            то a := a+1

            иначе b := b + mod(x,10)

        все

        x := div(x,10)

    кц

    вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        if (x%2 == 0) a += 1;

        else b += x%10;

        x = x / 10;

    }

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

    return 0;

}

 

Ре­ше­ние.

Дан­ный ал­го­ритм, по­лу­чая на вход число x, счи­та­ет ко­ли­че­ство чет­ных цифр и скла­ды­ва­ет не­чет­ные.

 

Эта часть про­грам­мы счи­та­ет ко­ли­че­ство чет­ных цифр:

 

if x mod 2 = 0 then

a := a + 1

 

А эта — пока число не ста­нет рав­ным нулю — скла­ды­ва­ет не­чет­ные цифры, а также уби­ра­ет по­след­нюю цифру числа:

while x > 0 do

begin

    ...

else

    b := b + x mod 10;

x := x div 10;

 

Таким об­ра­зом, не­об­хо­ди­мо найти наи­боль­шее число x, в ко­то­ром 2 чет­ных цифры, а сумма не­чет­ных равна 4. Для этого по­ме­ща­ем в на­ча­ло за­пи­си числа две наи­боль­шие на­ту­раль­ные чет­ные цифры, а потом для уве­ли­че­ния ко­ли­че­ства раз­ря­дов ми­ни­маль­но воз­мож­ные не­чет­ные. По­лу­ча­ем 881111.

 

Ответ: 881111.

Источник: СтатГрад: Тре­ни­ро­воч­ная ра­бо­та 28.11.2017 ИН10203