Ниже записан алгоритм. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2.
var x, a, b, c: longint;
begin
readln(x);
a:= 0; b:= 0;
while x > 0 do begin
c:= x mod 2;
if c = 0 then a:= a + 1
else b:= b + 1;
x:= x div 8;
end;
writeln(a);
writeln(b);
end.
Ответ 4097 объясните как решить
Галина Маркиева Вопрос задан 23 сентября 2019 в 10 — 11 классы, true»> Поделиться
Источник: matfaq.ru
Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 2 — Pascal
Я уже проверил, ответ 66, но найти его самостоятельно никак не могу. По моим подсчетам ответ должен быть не меньше 64. Если взять 66, у меня получается так: после первого цикла a=1 т. к. 66>0, b=25 т. к. 0<25(66 mod 8=25) после второго a=2 т. к. 8>0, b=25 т. к. 25не0, b=125 т. к. 25<125(1 mod 8=125) ответ 3 и 125. Плиз, скажите, что я делаю не так
[МИФ] Информатика ЕГЭ. № 22. Посимвольная обработка десятичных чисел. № 8668
Код к задаче: «Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 2»
Листинг программы
var x, a, b: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin a := a + 1; if b < (x mod 8) then b := x mod 8; x := x div 8 end; writeln(a); write(b) end.
Источник: studassistent.ru
Ещё пример задания:
P-04.Ниже записан алгоритм. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 15.
Var X, a, b: integer;
while x>0 do begin
writeln(a); write(b)
Решение:
- видим, что в последней строке выводятся на экран переменные aиb, поэтому сначала нужно определить, что они обозначают в программе
- перед началом цикла переменная aобнуляется, а переменнаяbравна 1
- на каждом шаге цикла при выполнении некоторого условия переменная aувеличивается на 1, аbумножается наx mod 10, то есть, на остаток от деленияxна 10 – это последняя цифра десятичной записи числаx
- в конце каждого шага цикла операция x:=x div 10отсекает последнюю цифру в десятичной записи числа
- цикл заканчивается, когда перестаёт выполняться условие x > 0, то есть, когда все цифры исходного числа отброшены
- таким образом, делаем вывод: после завершения цикла в переменной aнаходится количество цифр в десятичной записи числа, а в переменнойb– их произведение
- если было выведено 2 и 15, то в числа 2 цифры, и их произведение равно 15; таким образом, нам нужно найти минимальное двузначное число, в котором произведение значений цифр равно 15
- поскольку число 15 может быть разложено на два сомножителя, меньших 10, только как 35, минимальное подходящее число – 35.
- ответ: 35.
Ещё пример задания:
Разбор задания №20. ЕГЭ по информатике 2015. Задания ФИПИ
P-03.Ниже записан алгоритм. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2.
Var X, a, b, c: integer;
- видим, что в последний строках выводятся на экран переменные a и b, поэтому сначала нужно определить, что они обозначают в программе
- перед началом цикла обе переменные обнуляются
- на каждом шаге цикла при выполнении некоторого условия переменная a увеличивается на 1, а если это условие не выполняется, то на 1 увеличивается b; таким образом, обе переменных – счётчики
- теперь посмотрим на условие c = 0: в предыдущей строке в переменную c записывается остаток от деления числа x на 2, то есть, переменная c определяет четность числа или, что равносильно, чётность его последней цифры
- если последняя цифра чётная, то увеличивается счётчик a, а если нечётная – увеличивается счётчик b
- в конце каждого шага цикла операция x:=x div 10 отсекает последнюю цифру в десятичной записи числа
- таким образом, делаем вывод: после завершения цикла в переменной a находится количество чётных цифр в десятичной записи числа, а в переменно b – количество нечётных цифр
- если было выведено 3 и 2, то в числа 5 цифр, из них 3 чётных и 2 нечётных; таким образом, нам нужно найти минимальное пятизначное число, в котором 3 чётные и 2 нечётные цифры
- минимальная чётная цифра – это 0, минимальная начётная – 1; 0 не может стоять на первом месте, поэтому число начинается с 1
- для получения минимального числа после 1 должны идти нули и последняя цифра – снова 1
- ответ: 10001
Источник: studfile.net