Ниже записана программа укажите наименьшее двузначное число при вводе которого алгоритм печатает 15

Пример 1. Получив на вход число x, этот алгоритм печатает число M. Известно, что x>100. Укажите наименьшее такое (т.е. >100) число x, при вводе которого алгоритм печатает 26.

var x, L, M: integer;

if L mod 2 = 0 then M := 52;

Работа алгоритма:

В последней строке выводится на экран переменная M;

в циклической части программы записан алгоритм Эвклида для вычисления наибольшего общего делителя (НОД) чисел, записанный в переменные M и L; введённое значение x записывается в переменную L и участвует в поиске НОД.

В переменную M до начала цикла записывается 65, но если было введено чётное (L mod 2 = 0) значение x (оно же L), значение M заменяется на 52 (ifLmod 2 = 0 thenM := 52); сначала предположим, что замены не было, и в M осталось значение 65

(L := x; M := 65)

Поскольку по условию алгоритм печатает 26, тогда получается, что НОД(x,65)=26;

Этого не может быть, потому что 65 не делится на 26 – вывод, что введено чётное значение x, и произошла замена M на 52;

Разбор задания №20. ЕГЭ по информатике 2015. Задания ФИПИ

Тогда нужно найти чётное число x>100, такое, что НОД(x,52)=26;

первое число, большее 100, которое делится на 26 – это 104, но оно не подходит, потому что делится ещё и на 52, так что НОД(x,52)=52.

Поэтому берём следующее число, которое делится на 26: 104 + 26 = 130

Пример 2. Получив на вход число х, этот алгоритм печатает число М. Известно, что х > 40. Укажите наименьшее такое (т. е. большее 40) число х, при вводе которого алгоритм печатает 5.

var x, L, M: integer;

if L mod 2 = 0 then

Работа алгоритма:

Цикл while – алгоритм Евклида, то есть он ищет наибольший общий делитель чисел M и L.

В конце работы цикла M = L = НОД(M, L).

Если x — чётное число, то L = x, M = 24. Если нечётное, то L = x, M = 5.

24 не делится на 5, поэтому чтобы НОД(M, L) равнялся 5, нужно, M = 5, то есть чтобы x был нечётным.

Таким образом, нам нужно самое маленькое нечётное число, которое больше 40 и делится на 5. Это 45.

Пример 3. Ниже записан алгоритм. Укажите наименьшее из таких чисел, при вводе которых алгоритм печатает сначала 2, а потом 15.

var x, a, b: integer;

while x>0 do begin

Работа алгоритма:

На каждом шаге цикла при выполнении некоторых условий переменная a увеличиваются на 1, а b умножается на (x mod 10);

Цикл завершается операцией x:=x div 10, которая отсекает последнюю цифру в десятичной записи числа;

Можно сделать вывод: после завершения цикла в переменной a находится количество цифр в десятичной записи числа, а в переменной b – их произведение.

По условию выведено 2 и 15, т.е. нужно найти все двузначные числа, в которых произведение цифр равно 15;

Число 15 может быть разложено на 2 сомножителя, меньших 10: 15 = 3*5 = 5* 3

Минимальное число: 35

Пример 4. Ниже записан алгоритм. Получив на вход число, эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 120.

[МИФ] Информатика ЕГЭ. № 22. Посимвольная обработка чисел в разных СС. № 7677

var x, L, M: integer;

L:=0; M:=1;

while x > 0 do begin

M:=M* (x mod 8) then begin

x:=x div 8;

Работа алгоритма:

Переменная L с каждым шагом цикла увеличивается на 1

  • переменная x на каждом шаге цикла делится на 8 и остаток отбрасывается
  • можно сделать вывод, что в конце цикла переменная L будет равна количеству цифр введенного числа, записанного в восьмеричной системе счисления
  • таким образом, восьмеричная запись числа содержит ровно 3 цифры

Выражение x mod 8 – это последняя цифра восьмеричной записи числа

  • на каждом шаге цикла переменная M умножается на эту величину
  • поэтому в результате в M будет записано произведение всех цифр восьмеричной записи введенного числа

По условию это произведение равно 120, то есть 120=a*b*c, где a, bи с– числа от до 7 (которые в восьмеричной системе счисления записываются одной цифрой)

Поскольку нам нужно наибольшее число, перебираем делители числа 120, начиная со старшей цифры – 7

  • видим, что 120 на 7 не делится, поэтому такой цифры в восьмеричной записи числа нет

Но 120 делится на 6, поэтому старшей цифрой может быть 6 – только в том случае, когда второй сомножитель можно представить в виде произведения двух чисел в интервале 1..6

делим 120 на 6, получаем 20;

  • это число представляется как произведение 5 и 4, каждое из этих чисел записывается в виде одной восьмеричной цифры, т.е. они подходят

Т.к. находим максимальное число, то цифры нужно выстроить в порядке убывания: 6548 , получено число в восьмеричной системе, а ответ нужно дать в десятичной

переводим: 6548 = 6·82 + 5·81 + 4·80 = 428

Учитель – Богачёва Г.В. Лицей № 144 Санкт-Петербурга Анализ алгоритма, содержащего цикл и ветвление Решение 20 задачи ЕГЭ

На что обратить внимание : Понимать, как работает while ( цикл с предусловием). Необходимо знать операции mod – остаток от деления и div – деление нацело, понимать, что x:= x div 10 – удаляет младший разряд из числа, а d := x mod 10 – выделяет последнюю цифру из числа (10 с.с .). L mod 2 = 0 – проверка числа на чётность. Знать, как считается количество ( b:= b + 1 ) и сумма ( s:= s + a ) R := 10*R + d – увеличиваем число на один разряд и прибавляем цифру (добавляем цифру к записи числа)

Читайте также:
Установить программу для скачивания с ютуба и одноклассников

Задача 20 из демоверсии 2015 Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x , этот алгоритм печатает два числа: a и b . Укажите наименьшее из таких чисел x , при вводе которых алгоритм печатает сначала 2, а потом 15.

Бейсик Python Си Паскаль 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 x = int (input()) a = 0 b = 1 while x > 0: a = a + 1 b = b * (x % 10) x = x // 10 print(a) print(b) #include int main(void) < int x, a, b; scanf (“%d”, a = 0; b = 1; while (x >0) < a = a + 1; b = b * (x % 10); x = x / 10; >printf (“%d n%d “, a, 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 .

Решение: 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) Анализируем алгоритм – на экран сначала выведется a = 2 (значит, команды в цикле будут повторены 2 раза: a := a+1 ), затем b = 15. Команда b := b *( x mod 10) находит произведение b и последней цифры числа x ( mod – остаток от деления на 10). Команда x := x div 10 отбрасывает последнюю цифру от числа x ( div – деление нацело). Так как цикл повторяется до тех пор, пока x >0 (то есть выходим из цикла, как только х=0) и мы знаем, что он будет повторён 2 раза ( a =2), то отсюда x – двузначное число. Множители числа 15: 3, 5. Наименьшее двузначное число, которое из них можно составить, 35. Ответ: 35

Задача 20 из демоверсии 2016 Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 26.

Бейсик Python Си Паскаль DIM X, L, M AS INTEGER INPUT X L = X M = 65 IF L MOD 2 = 0 THEN M = 52 ENDIF WHILE L M IF L > M THEN L = L – M ELSE M = M – L ENDIF WEND PRINT M x = int (input()) L = x M = 65 if L % 2 == 0: M = 52 while L != M: if L > M: L = L – M else: M = M – L print(M) #include void main() < int x, L, M; scanf (“%d”, L = x; M = 65; if (L % 2 == 0) M = 52; while (L != M)< if(L >M) L = L – M; else M = M – L; > printf (“%d”, M); > var x, L, M: integer; begin readln (x); L := x; M := 65; if L mod 2 = 0 then M := 52; while L M do if L > M then L := L – M else M := M – L; writeln (M); end .

Решение: readln (x); L := x; M := 65; if L mod 2 = 0 then M := 52; while L M do if L > M then L := L – M else M := M – L ; writeln (M ); Анализируем алгоритм – в цикле до тех пор, пока L M , вычитаем их большего операнда меньший ( L := L – M или M := M – L ). Узнаём – это алгоритм Евклида для вычисления наибольшего общего делителя (НОД), т.е., если напечатано число 26, то НОД ( x, M) = 26. Если х – нечетное, то M = 65, и НОД ( x, 65 ) = 26 , но 65 не делится на 26, это невозможно. Значит, была замена, M = 52, ищем НОД ( x, 52 ) = 26 . По условию x> 100, берём 104, но НОД (104 , 52 ) = 52, следующее число, которое делится на 26, 104+26 = 130. Ответ : 130

Задача 20 из демоверсии 2017 Ниже на четырёх языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число R. Укажите такое число x, при вводе которого алгоритм печатает двузначное число, сумма цифр которого равна 16. Если таких чисел x несколько, укажите наименьшее из них.

Бейсик Python Си Паскаль DIM X,D,R AS LONG INPUT X R = 0 WHILE X>0 D = X MOD 10 R = 10*R + D X = X 10 WEND PRINT R x = int(input()) R = 0 while x>0: d = x % 10 R = 10*R + d x = x // 10 print(R) #include int main() < long x,d,R ; scanf (“% ld “, R = 0; while (x>0) < d = x % 10; R = 10*R + d; x = x / 10; >printf (“% ld “, R); return 0; > var x,d,R : longint ; begin readln (x); R := 0; while x>0 do begin d := x mod 10; R := 10*R + d; x := x div 10 end; writeln (R) end .

Решение: readln (x); R := 0; while x>0 do begin d := x mod 10; R := 10*R + d; x := x div 10 end; w riteln ( R) Анализируем алгоритм – в цикле до тех пор, пока x>0 , выделяем последнюю цифру ( d := x mod 10) , удаляем последний разряд ( x := x div 10 ), из этих цифр составляем число, начиная с последней цифры, то есть переворачиваем число. Сумма двух цифр равна 16, возможны варианты – 8,8 или 9,7. Наименьшее число – 79. Ответ: 79

Читайте также:
Программа чтобы сделать арт

Задача 20 из демоверсии 2018 Ниже на пяти языках программирования записан алгоритм . Получив на вход число x , этот алгоритм печатает два числа: L и M . Укажите наименьшее число x , при вводе которого алгоритм печатает сначала 5, а потом 7.

Бейсик Python Си ++ Паскаль DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 0 THEN L = L + 1 END IF X = X 2 WEND PRINT L PRINT M x = int (input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M) #include using namespace std ; int main()< int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) < M = M + 1; if(x % 2 != 0) < L = L + 1; >x = x / 2; > cout 0 do begin M := M + 1; if x mod 2 0 then L := L + 1; x := x div 2; end; writeln (L); writeln (M); end .

Решение: readln (x ); L := 0 ; M := 0; while x>0 do begin M := M + 1; if x mod 2 0 then L := L + 1; x := x div 2; end; writeln (L); writeln (M ); Анализируем алгоритм – до тех пор, пока в введённом числе есть цифры ( x>0 ), повторяем деление этого числа нацело на 2, т.е. осуществляем алгоритм перевода числа из 10 с.с . в 2 с.с ., при этом M считает количество цифр в получившемся числе, а L – количество нечётных цифр, т.е. 1. Наименьшее двоичное число из 7 цифр, в котором 5 единиц – 1001111, переводим в 10 с.с . – = 1*2 6 + 1*2 3 +1*2 2 +1*2 1 +1*2 0 = 64+8+4+2+1= 79 (введённое число) Ответ: 79

var x, a, b, c: integer; 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 10; end; writeln (a); writeln (b); end. Ниже записан алгоритм. Укажите наибольшее из таких чисел x , при вводе которых алгоритм печатает сначала 3, а потом 2 Решение : Анализируем алгоритм: Вводим число x. Д о тех пор, пока в введённом числе есть цифры ( x>0 ), повторяем деление этого числа нацело на 10 ( x:= x div 10 ). В переменную c записываем остаток от деления на 2, переменная a – счетчик чётных цифр, переменная b – счетчик нечётных цифр. Если в числе 3 четных цифры и 2 нечетных цифры (по условию задачи), то наибольшее число будет 99888 (9- максимальная нечетная цифра, 8 – чётная) Ответ: 99888

var x, a, b, c: integer; 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 6 ; end; writeln (a); writeln ( b ); end . Ниже записан алгоритм. Укажите наибольшее из таких чисел x , при вводе которых алгоритм печатает сначала 4, а потом 0 Ответ: 4444 Для самостоятельного решения

var x, a, b: integer; begin readln (x); a:=0; b:=0; while x>0 do begin a:= a + 2; b:= b + (x mod 10); x:= x div 10; end; writeln (a); write(b); end. Ниже записана программа . Получив на вход число x , эта программа печатает 2 числа, a и b. Укажите наименьшее из таких чисел x , при вводе которых алгоритм печатает сначала 6, а потом 5. Решение : Анализируем алгоритм: Вводим число x. Д о тех пор, пока в введённом числе есть цифры ( x>0 ), повторяем деление этого числа нацело на 10 ( x:= x div 10 ). С каждой цифрой значение переменной a увеличивается на 2, то есть если a = 6 , то в числе всего 3 цифры . В переменной b накапливается сумма цифр ( x mod 10 – выделяет последнюю цифру). Сумма трех цифр равна 5. Варианты 1+2+2, 2+3+0. Наименьшее трехзначное число, составленное из этих цифр – 122 Ответ: 122

var x, a, b: integer; begin readln (x); a:=0; b:=0; while x>0 do begin a:= a + 2; b:= b + (x mod 10); x:= x div 10; end; writeln (a); write(b); end . Ниже записана программа . Получив на вход число x , эта программа печатает 2 числа, a и b. Укажите наименьшее из таких чисел x , при вводе которых алгоритм печатает сначала 8, а потом 19. Ответ: 1099 Для самостоятельного решения

var x, a, b, c: integer; begin readln (x); a := 0; b := 10; while x>0 do begin с := x mod 10; a := a+c ; if c0 ), повторяем деление этого числа нацело на 10 ( x:= x div 10 ). В переменной a накапливается сумма цифр ( x mod 10 – выделяет последнюю цифру). В переменную b записывается наименьшая цифра.( if c

var x, a, b, c: integer; begin readln (x); a := 0; b := 10; while x>0 do begin с := x mod 10; a := a+c ; if c

var x, y, a, b: longint ; begin a := 0; b := 0; readln (x); while x > 0 do begin y := x mod 10; if y > 3 then a := a + 1; if y 0 ), повторяем деление этого числа нацело на 10 ( x:= x div 10 ). y := x mod 10 – выделяет последнюю цифру . В переменную b записывается количество цифр меньше 8. Все пять цифр больше 3, из них 3

Читайте также:
Нужна ли программа firebird

var x, y, a, b: longint ; begin a := 0; b := 0; readln (x); while x > 0 do begin y := x mod 10; if y > 4 then a := a + 1; if y

Укажите наибольшее из таких чисел x , при вводе которых алгоритм печатает сначала 3, а потом опять 3. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 3. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 14, а потом 5. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 15, а потом 6. var x, a, b, c: integer; 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 10; end; writeln (a); write(b); end . var x, a, b, c: integer; 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 10; end; writeln (a); write(b); end . var x, a, b, c: integer; begin readln (x); a := 0; b := 10; while x>0 do begin c := x mod 10; a := a+c ; if c0 do begin c := x mod 10; a := a+c ; if c

Информатика
›Презентации›Презентация по информатике на тему “Анализ программы, содержащей циклы и ветвления”

Источник: cleancitygroup.ru

Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 15, а потом 7

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

Показать ответ

Проанализируем, что происходит в результате выполнения данной программы. Для этого в качестве x рассмотрим произвольное целое число, входящее в диапазон типа объявленной переменной (в нашем случае −32768 ≤ x ≤ 32767), например, 412.

Выполняемый оператор x a b k
readln(x) 412
a := 0 412
b := 10 412 10
логическое условие x > 0 истинно (412 > 0)
k := x mod 10 412 10 2
a := a + k 412 2 10 2
логическое условие k < b истинно (2 < 10)
b := k 412 2 2 2
x := x div 10 41 2 2 2
логическое условие x > 0 истинно (41 > 0)
k := x mod 10 41 2 2 1
a := a + k 41 3 (= 2 + 1) 2 1
логическое условие k < b истинно (1 < 2)
b := k 41 3 1 1
x := x div 10 4 3 1 1
логическое условие x > 0 истинно (4 > 0)
k := x mod 10 4 3 1 4
a := a + k 4 7 (= 3 + 4) 1 4
логическое условие k < b ложно (4 6< 1)
x := x div 10 7 1 4
логическое условие x > 0 ложно (0 6> 0)
writeln(a) 7 1 4
writeln(b) 7 1 4

Заметим, что a принимает значение, равное сумме цифр числа x, а переменная b — наименьшей цифре числа x.

Из условия задачи имеем:

1) a = 15, значит, сумма цифр исходного числа x равна 15;

2) b = 7, значит, в исходном числе x наименьшая цифра равна 7.

В наименьшем из таких чисел x цифра, стоящая в старшем разряде, должна быть наименьшей, то есть 7 (мы определили, что эта цифра наименьшая в числе). Тогда сумма цифр, расположенных правее 7 равна 15 − 7 = 8. Так как 8 < 10, а нам требуется найти наименьшее число, то исходное число является двузначным, и в разряде единиц у него стоит 8.

Значит, числом x, удовлетворяющим условию задачи, является 78.

Ответ: 78

Источник: ege-today.ru

Ниже записан алгоритм. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 11.

Найдите правильный ответ на вопрос ✅ «Ниже записан алгоритм. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 11. var x, a, b: . » по предмету Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.

Новые вопросы по информатике

Написать программу, которая выводит на экран результаты следующих действий: 27-5= 11+21= 32/2= 2+2*2= (2+2) * 2= Написать программу, которая выводит на экран результаты следующих действий: 21-4= 21+11= 43/3= 3+3*3= (3+3) * 3=

Вариант 2 1. Даны три числа. Найдите сумму второго и третьего числа. Найдите квадрат первого числа. 2. Даны длины сторон прямоугольника. Найдите площадь прямоугольника.

3. Даны длины катетов прямоугольного треугольника. Найдите периметр треугольника.

Почему при А=1, В=1, С=1 ответ АVВ равно 1?

2. Какое значение будет иметь переменная b после выполнения следующих операторов присваивания: a:=3; b:=a+9; b:=a+b; b:=a-b+b/a. 3.

Найдите наиболее точное общее имя каждой группе объектов: з) клавиатура, сканер, мышь

Главная » Информатика » Ниже записан алгоритм. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 11.

Источник: iotvet.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru