![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Writeln(a); write(b);
End. Решение: 1) видим, что в последней строке выводятся на экран переменные a и b, поэтому сначала нужно определить, что они обозначают в программе 2) перед началом цикла переменные a и b обнуляются 3) на каждом шаге цикла при выполнении некоторого условия переменная a увеличивается на 1, а b увеличивается на x mod 10, то есть, на остаток от деления x на 10 – это последняя цифра десятичной записи числа x 4) в конце каждого шага цикла операция x: =x div 10 отсекает последнюю цифру в десятичной записи числа 5) цикл заканчивается, когда перестаёт выполняться условие x > 0, то есть, когда все цифры исходного числа отброшены 6) таким образом, делаем вывод: после завершения цикла в переменной a находится количество цифр в десятичной записи числа, а в переменной b – их сумма 7) если было выведено 2 и 12, то в числе 2 цифры, и их сумма равна 12; таким образом, нам нужно найти все двузначные числа, в котором сумма значений цифр равна 12 8) число 12 может быть разложено на два слагаемых, меньших 10, как 12 = 3 + 9 = 4 + 8 = 5 + 7 = 6 + 6 = 7 + 5 = 8 + 4 = 9 + 3, нам подходят числа 39, 48, 57, 66, 75, 84 и 93 9) всего таких чисел - 7 10) ответ: 7. Ещё пример задания: P-04. Ниже записан алгоритм. Укажите наименьшее из таких чисел 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. Решение: 1) видим, что в последней строке выводятся на экран переменные a и b, поэтому сначала нужно определить, что они обозначают в программе 2) перед началом цикла переменная a обнуляется, а переменная b равна 1 3) на каждом шаге цикла при выполнении некоторого условия переменная a увеличивается на 1, а b умножается на x mod 10, то есть, на остаток от деления x на 10 – это последняя цифра десятичной записи числа x 4) в конце каждого шага цикла операция x: =x div 10 отсекает последнюю цифру в десятичной записи числа 5) цикл заканчивается, когда перестаёт выполняться условие x > 0, то есть, когда все цифры исходного числа отброшены 6) таким образом, делаем вывод: после завершения цикла в переменной a находится количество цифр в десятичной записи числа, а в переменной b – их произведение 7) если было выведено 2 и 15, то в числа 2 цифры, и их произведение равно 15; таким образом, нам нужно найти минимальное двузначное число, в котором произведение значений цифр равно 15 8) поскольку число 15 может быть разложено на два сомножителя, меньших 10, только как 3× 5, минимальное подходящее число – 35. 9) ответ: 35. Ещё пример задания: P-03. Ниже записан алгоритм. Укажите наименьшее из таких чисел var x, a, b, c: integer; Begin
|