Задания
Версия для печати и копирования в MS Word
Тип Д22 № 13469
i

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

 

Бей­сикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0

B = 0

WHILE X > 0

  A = A + 1

  IF X MOD 2 = 0 THEN

   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:

  a = a + 1

  if x % 2 ==0:

    b += x%10

  x=x // 10

print(a, b)

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

program b20;

var x, a, b: integer;

begin

    readln(x);

    a := 0

    b := 0;

    while x > 0 do

    begin

      a := a + 1;

      if x mod 2 = 0 then

         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

        a := a + 1

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

          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){

        a = a + 1;

         if (x%2 == 0) {

           b = b+x%10;

        }

        x = x / 10

      }

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

    return 0;

}

Спрятать решение

Ре­ше­ние.

По­сколь­ку a  =  3, зна­чит, while вы­пол­нил­ся 3 раза, а т. к. while ра­бо­та­ет по ко­ли­че­ству раз­ря­дов числа x, то x лежит в про­ме­жут­ке от 100 до 999. По­сколь­ку b  =  16, зна­чит, сумма чет­ных цифра числа x равна 16. Зна­чит, нужно ми­ни­маль­ное трех­знач­ное число, сумма чет­ных цифр ко­то­ро­го равна 16. Это число 188.

 

Ответ: 188.

 

При­ведём дру­гое ре­ше­ние на языке Python.

for i in range(10000):

x = i

a = 0

b = 0

while x > 0:

a = a + 1

if x % 2 == 0:

b += x % 10

x = x // 10

if a == 3 and b == 16:

print(i)

break

Раздел кодификатора ФИПИ: