Подготовка к ЕГЭ: Задание 20

Предмет: Информатика
Категория материала: Другие методич. материалы
Автор:

Задание 20

Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.  Укажите наибольшее из таких чисел x,  при вводе которых алгоритм печатает сначала 3, а потом 5.

Бейсик

Паскаль

DIM X, A, B AS INTEGER

INPUT X

A=0: B=1

WHILE X > 0

   A = A+1

   B = B*(X MOD 10)

   X = X   10

WEND

PRINT A

PRINT B

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.

Си

Алгоритмический

#include

void main() {

   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(«%dn%d», a, b);

}

алг

нач

   цел x, a, b

   ввод x

   a:=0; b:=1

   нцпока x>0

      a:=a+1

      b:=b*mod(x,10)

      x:=div(x,10)

   кц

   вывод a, нс, b

кон

 

Решение:  Разберемся, что означают переменные x, a, b. При инициализации x – исходное натуральное число;  a=0, b=1. Посмотрим, что происходит при выполнении основного цикла

     нцпока x>0

         a:=a+1

         b:=b*mod(x,10)

         x:=div(x,10)

     кц

Значение a при каждом выполнении цикла увеличивается на 1, значит итоговое значение переменной a равно количеству выполнения цикла. От числа x при каждом выполнении цикла «отбрасывается» последняя цифра (операция x:=div(x,10) ). Таким образом, количество выполнений цикла (оно же – напечатанное значение переменной a) равно количеству цифр в исходном числе x. Значение переменой b умножается на выражение mod(x,10). Это — последняя цифра текущего значения x, т.е. очередная цифра исходного числа. Поэтому, итоговое значение переменной b равно произведению цифр исходного числа.

Пример выполнения цикла, если начальное значение x=423 приведен в таблице.

№ прохода

Начальные значения

Рабочие значения

Конечные значения

x

a

b

mod(x, 10)

div(x, 10)

x

a

b

1

423

0

1

3

42

42

1

3

2

42

1

3

2

4

4

2

6

3

4

2

6

4

0

0

3

24

 

Таким образом, в задаче требуется найти наибольшее трехзначное число, в котором произведение цифр равно 5. Это число – 511.

Ответ: 511

Тип материала: Документ Microsoft Word (docx)
Размер: 31.56 Kb
Количество скачиваний: 9
Просмотров: 75

Похожие материалы