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

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

 

Бей­сик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)

print(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;

}

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

Ре­ше­ние.

Число а рав­ня­ет­ся ко­ли­че­ству цифр в х, а b - сумме чётных цифр х.

Чтобы число было по­боль­ше, в стар­ший раз­ряд по­ста­вим 9. Сумма остав­ших­ся двух цифр - 10, и они чётные.

10 = 2 + 8 = 4 + 6

82 > 64

В итоге по­лу­чи­ли число 982.

 

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

for i in range(10000, 1, -1):

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 == 10:

print(i)

break


Аналоги к заданию № 10296: 10394 10421 Все

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