Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает числа: a и b.
Укажите наименьшее положительное пятизначное число x, при котором после выполнения алгоритма будет напечатано сначала 4, а потом 2.
Бейсик | Python |
---|---|
DIM X, Y, A, B AS INTEGER A = 0 B = 0 INPUT X WHILE X > 0 Y = X MOD 10 IF Y > 3 THEN A = A + 1 IF Y < 8 THEN B = B + 1 X = X \ 10 WEND PRINT A PRINT B
| a = 0 b = 0 x = int(input()) while x > 0: y = x % 10 if y > 3: a = a+1 if y < 8: b = b+1 x = x // 10 print(a) print(b)
|
Алгоритмический язык | Паскаль |
алг нач цел x, y, a, b a := 0 b := 0 ввод x нц пока x > 0 y := mod(x, 10) если y > 3 то a := a + 1 все если y < 8 то b := b + 1 все x := div(x, 10) кц вывод a, нс, b кон | var x, y, a, b: integer; begin a := 0; b := 0; readln(x); while x > 0 do begin y := x mod 10; if y > 3 then a := a + 1; if y < 8 then b := b + 1; x := x div 10 end; writeln(a); writeln(b) end. |
Си++ | |
#include <iostream> using namespace std; int main() { int x, y, a, b; a = 0; b = 0; cin >> x; while (x > 0) { y = x % 10; if (y > 3) a = a + 1; if (y < 8) b = b + 1; x = x / 10; } cout << a << endl << b << endl; } |
Число — количество цифр в числе, больших 3.
Число — количество цифр в числе, меньших 8.
Таким образом, получается 1 цифра меньше 4, цифра от 4 до 7 и 3 цифры больше 7.
Подбирая для каждой из цифр минимальное значение и отсортировав эти цифры в порядке возрастания, получим минимальное число 14888.
Ответ: 14888.
Ваш ответ неверный. Правильный 4488.
Пояснение a = кол-ву цифр > 3
b = кол-ву цифр <8
т. к. a = 4, то цифр больше 3 - четыре
т. к. b = 2, то цифр меньше 8 - две
4488
подходит под это условие. Также проверил на онлайн компиляторе. Подходит.
Необходимо предъявить наименьшее пятизначное число.