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

Ниже на раз­лич­ных язы­ках про­грам­ми­ро­ва­ния за­пи­сан ал­го­ритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа a и b. Сколь­ко су­ще­ству­ет таких чисел x, при вводе ко­то­рых ал­го­ритм пе­ча­та­ет сна­ча­ла 2, а потом 24?

 

 

Бей­сикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

A = A + 1

B = B*(X MOD 10)

X = X\10

WEND

PRINT A

PRINT B

x=int(input())

a=0; b=1

while x>0:

    a=a+1

    b=b*(x%10)

    x=x//10

print(a,"\n",b)

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

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 1;

     while x > 0 do

    begin

        a := a+1;

        b := b*(x mod 10);

        x := x div 10;

    end;

    writeln(a); write(b);

end.

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 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 = 1;

    while (x > 0){

        a = a+1;

        b = b*(x%10);

        x = x/10;

    }

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

    return 0;

}

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

Ре­ше­ние.

1)  По­сколь­ку а = 2, зна­чит, x  — дву­знач­ное число.

2)  По­сколь­ку b = 24, x  — дву­знач­ное, то b яв­ля­ет­ся про­из­ве­де­ни­ем 2 цифр, со­дер­жа­щих­ся в x: 24 = 8 * 3 или 6 * 4.

Зна­чит, ва­ри­ан­ты для x  — это 83, 38, 64 и 46. Всего их  — 4.

 

Ответ: 4.

 

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

k = 0

for i in range(10000):

x = i

a = 0

b = 1

while x > 0:

a = a + 1

b = b * (x % 10)

x = x // 10

if a == 2 and b == 24:

k += 1

print(k)

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