Ниже записана программа. Получив на вход число x, эта программа печатает два числа, a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.
Паскаль
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.
СИ
int x, a, b ;
scanf(«%d»,&x);
a = 0; b = 1;
while (x > 0) {
a = a + 1;
b = b * (x % 10);
x = x / 10;
}
printf(«%d \n %d»,a,b);

8 Мар 2020 в 19:43
214 +1
0
Ответы
1

Давайте разберемся, какие значения a и b будут выведены при различных значениях x:

Пусть x = 1, тогда a = 1 и b = 1.
Пусть x = 2, тогда a = 1 и b = 2.
Пусть x = 3, тогда a = 1 и b = 3.
Пусть x = 4, тогда a = 1 и b = 4.
Пусть x = 5, тогда a = 1 и b = 5.
Пусть x = 6, тогда a = 1 и b = 6.
Пусть x = 7, тогда a = 1 и b = 7.
Пусть x = 8, тогда a = 1 и b = 8.
Пусть x = 9, тогда a = 1 и b = 9.

Отсюда видно, что при вводе x = 3 программа печатает 1 и 3. Сначала выводится значение переменной a, а затем b.

Теперь стоит найти наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7. Мы видим, что это произойдет при x = 37.

Таким образом, наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7, равно 37.

18 Апр 2024 в 16:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир