alarm
Задайте вопрос
Информатика
BarbaraRo

Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 14. var x, a, b : integer;beginreadln(x);a := 0; b := 1;while x > 0 do begina := a + 1;b := b * (x mod 10);x := x div 10;end;writeln(a); write(b);end.

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

Чтобы решить задачу нам нужно пробежаться глазами по коду.

Мы имеем какие-то две переменные, который изначально равны 0 и 1.

Дальше видим цикл while, который выполняется, пока x > 0, скорее всего, здесь что-то делается с цифрами числа.

Посмотрим че там в цикле творится. Видим, что при каждом проходе одна переменная увеличивается на 1, а другая умножается на x mod 10, с помощью x mod 10 у нас "откусывается" последняя цифра, ну к примеру 12 mod 10 = 2, то есть, таким образом мы ищем произведение цифр в числе. Ну и в конце цикла мы используем целочисленное деление, чтобы избавиться от крайней правой цифры.

Мы поняли, что наш цикл считает количество цифр и их произведение, остается подобрать нужные нам данные.

a - количество цифр

b - произведение

Нам нужно максимальное число с двумя разрядами, которое в произведение даст 14.

Вариантов то у нас мало, эт либо 27, либо 72, нам нужно наибольшее => выбираем 72

: 72

402
Dorothy Larson
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

люди посчитайте, на вас держит

Напишите наибольшее целое число

посчитайте дам 10 поинтов

Информация,воспринимаемая органа

Написатьтразвернутую форму чисел

Определите по какой из масок буд

Контакты
Реклама на сайте