Присоединиться

Информатика·Анализ программы с циклами и условными операторами·11 класс

DIM X, Y, A, B AS INTEGER A = 0 B = 0 INPUT X WHILE X > 0 Y = X MOD 10

Условие

Ниже на пяти языках программирования записан алгоритм. Получив на вход число 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 = 0b = 0x = int(input())while x > 0: y = x % 10 if y > 3: a = a+1 if y < 8: b = b+1 x = x // 10print(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;} |

Ответ

14888

Решение по шагам

  1. Как рассуждать

    Решение. Число a — количество цифр в числе, больших 3.Число b — количество цифр в числе, меньших 8.Таким образом, получается 1 цифра меньше 4, цифра от 4 до 7 и 3 цифры больше 7.Подбирая для каждой из цифр минимальное значение и отсортировав эти цифры в порядке возрастания, получим минимальное число

Осталось ещё 1 шаг — откроются после входа:

  • Шаг 2
Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Анализ программы с циклами и условными операторами»