Ниже записан метод. Сколько существует таких чисел x , при вводе
Ниже записан метод. Сколько существует таких чисел x , при вводе которых метод печатает сначала 2, а позже 12? Что делает данная программка? Какие это числа? Растолкуйте свои ответы. var x, a, b: longint; begin readln(x); a:=0; b:=0; while xgt;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 обнуляются
3) на каждом шаге цикла при исполненьи некого условия переменная a возрастает на 1, а b возрастает на x mod 10, то есть, на остаток от дробления x на 10 это заключительная цифра десятичной записи числа x
4) в конце каждого шага цикла операция x:=x div 10 отсекает заключительную цифру в десятичной записи числа
5) цикл кончается, когда прекращает производиться условие x gt; 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
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Разные вопросы.
Математика.
Русский язык.
Русский язык.
Разные вопросы.
Қазақ тiлi.
Английский язык.
Математика.
История.