Задача к ЕГЭ по информатике на тему «программирование – циклы, условия» №1

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

|------------------------------|----------------------|-------------------------------| |P-ascal------------------------|P-ython----------------|C-+-+--------------------------| |var x, a, b : longint;        |x =  int(input())       |#include < iostream >           | |                              |                      |                               | |begin                          |a =  0                |using namespace std;           | |      readln(x);               |b =  1                |int main() {                   | |      a :=  0;                 |while x > 0 :         |     int x, a, b;              | |                              |                      |                               | |      b := 1;                 |      a = a +  1      |     cin > > x;                | |      while (x  > 0) do begin    |      b = b ∗ (x % 10)|     a =  0;                   | |           a := a +  1;        |      x = x ∕∕ 10     |     b =  1;                   | |           b :=  b ∗ (x mod 10);|print(a)               |     while (x >  0) {           | |                              |                      |                               | |           x := x div 10;      |print(b)               |           a = a +  1;         | |      end;                     |                      |           b = b ∗ (x % 10);   | |      writeln(a);               |                      |           x =  x ∕ 10;        | |                              |                      |                               | |      writeln(b);               |                      |     }                         | |end.                          |                      |     cout <<  a < < endl <<  b;| |                              |                      |     return 0;                 | |                              |                      |                               | -------------------------------------------------------}-------------------------------

counter = 0
for i in range(10000):
    x, a, b = i, 0, 1
    while x > 0:
        a += 1
        b *= (x % 10)
        x //= 10
    if a == 4 and b == 0:
        counter += 1
print(counter)

Ответ: 2439
Оцените статью
Я решу все!