Сначала надо избавиться от ошибок (пункт №3) иначе не сможем выполнить 1 и 2 пункт задания. Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10; Исправляем N:N div 10; на N:= N div 10;
После исправления ошибок при вводе 537 получим 3 Программа будет работать правильно для любого числа, у которого вторая цифра слева меньше первой цифры, например: 7193
Чтобы программа работала правильно для всех чисел надо изменить это: while N > 10 do на while N > 0 do
После всех исправлений код программы стал таким: var N, k: integer; begin readln(N); k := 9; while N > 10 do begin if (N mod 10 < k) then k := N mod 10; N := N div 10; end; write(k) end.
Для решения данной задачи нам нужно найти наименьшее число х, для которого истинно высказывание: (х > 40) И НЕ (х нечетное).
Первое условие говорит нам, что х должно быть больше 40. Итак, мы начинаем с х = 41.
Следующее условие говорит "НЕ (х нечетное)". Это означает, что х должно быть четным числом. Мы проверяем, является ли 41 четным числом. Нет, 41 - нечетное число.
Итак, наше условие не выполняется для х = 41. Мы увеличиваем х на 1 и получаем х = 42.
Мы опять проверяем, является ли 42 четным числом. Да, 42 - четное число.
Теперь мы проверяем первое условие: х должно быть больше 40. 42 - больше 40.
И, наконец, мы проверяем второе условие "НЕ (х нечетное)". Произойдет отрицание. Так как 42 - четное число, получаем "не нечетное" или "четное".
Оба условия выполняются для х = 42, поэтому наименьшим числом х, для которого истинно высказывание (х > 40) И НЕ (х нечетное), является 42.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку