Подготовка к ЕГЭ: Задание 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 |