Автор | Сообщение |
|
Отправлено: 27.04.14 16:01. Заголовок: B8
Как решить? Ниже записан алгоритм. Укажите набольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2. 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.
|
|
|
Ответов - 5
[только новые]
|
|
|
| постоянный участник
|
Сообщение: 254
|
|
Отправлено: 27.04.14 16:52. Заголовок: проще всего, набрать..
проще всего, набрать в какой нибудь среде и прогнать в пошаговом режиме, или на бумажке для какого-нибудь числа прогнать и понять что делает программа
|
|
|
|
Отправлено: 27.04.14 19:53. Заголовок: Ясно, что если ЧИСЛО..
Ясно, что если ЧИСЛО четное, то единица добавляется к а, а если нечетное - то к b. Цифры числа постепенно отрезаются. Значит в исходном числе должно быть 3 четные и 2 нечетные цифры. Причем, в ДВОИЧНОМ числе (т.к. определяем остаток от деления на 2, а он может быть только 0 или 1). Вывод, самое большое число: 11100. Переводим в десятичную: 38.
|
|
|
|
Отправлено: 27.04.14 19:56. Заголовок: Прошу прощения, 3 ч..
Прошу прощения, цитата: | 3 четные и 2 нечетные цифры. |
| Значит,самое большое число 11000. Т.е. 24 (двадцать четыре)
|
|
|
|
| постоянный участник
|
Сообщение: 255
|
|
Отправлено: 28.04.14 07:57. Заголовок: проол пишет: Приче..
проол пишет: цитата: | Ясно, что если ЧИСЛО четное, то единица добавляется к а, а если нечетное - то к b. Цифры числа постепенно отрезаются. Значит в исходном числе должно быть 3 четные и 2 нечетные цифры. |
| да а откуда такой вывод? ответ 99888 для 24 ответ будет 2 0
|
|
|
|
| Администратор
|
Сообщение: 670
|
|
Отправлено: 28.04.14 08:06. Заголовок: oval пишет: ответ 99..
oval пишет: Это правильный ответ.
|
|
|
|