Форум » Циклы и ветвления » ЗАДАНИЕ С ЦИКЛОМ. » Ответить

ЗАДАНИЕ С ЦИКЛОМ.

E.V.G.WI.: 11) В результате выполнения фрагмента программы while n <> 0 do begin write ( 2*(n mod 5 + 3) ); n := n div 10; end; на экран выведено число 10614. Какое число хранилось до этого в переменной n, если известно, что все цифры в нем нечетные? Как решать? Заранее спасибо!

Ответов - 5

Lavanda: А откуда задача? Ответ известен? Может 759?

oval: Lavanda пишет: А откуда задача? Ответ известен? Может 759? B2 № 11. Там же есть разбор подобной

Lavanda: а нет, 957 ответ. Решение: Нечетные цифры это 1, 3, 5, 7, 9, они могут давать остатки от деления числа на 5 соответственно: 1, 3, 0, 2, 4. На экране число, полученное из этих остатков увеличенных на три и умноженных на два. Самое большое число которое в результате этих операций может получиться - это 14, поэтому результат на экране состоит из чисел 10, 6, и 14, напечатанных рядом. Первое число 10 - оно может получиться только если последняя цифра n равна 7: 2*(7 mod 5 +3), потом в программе эта цифра 7 выбрасывается из числа n. Следующая цифра n должна быть 5, т.к. 2*(5 mod 5 +3)=6, ну и первая - 9, т.к. 2*(9 мод 5 +3)=14.


nina: задача 8_31 Необходимо исправить строку n:=4 на n:=1, тогда в ответе вместо 89 необходимо указать 39.

Поляков: nina пишет: задача 8_31 Необходимо исправить строку n:=4 на n:=1, тогда в ответе вместо 89 необходимо указать 39. Спасибо, исправлено.



полная версия страницы