Форум » Циклы и ветвления » [B6] Циклы в B6 » Ответить

[B6] Циклы в B6

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

Ответов - 13

Elen@: Уже сама догадалась - просто к каждой цифре числа 402 надо прибавить 5. Вот и получилось 957. Хорошо, когда есть ответы !

Поляков: Elen@ пишет: просто к каждой цифре числа 402 надо прибавить 5 Вы нашли остатки от деления на 5, поэтому прибавлять нужно какое-то число, делящееся на 5. Для того, чтобы получилось однозначное число (ведь это цифра!), можно добавить 0 или 5. Но все остатки - чётные, а по условию все цифры должны получиться нечетные. Поэтому единственный вариант - добавить 5 к каждому полученному остатку.

Elen@: 2User Я решала так: 1) n mod 5 – остаток от деления на 5 – число от 0 до 4. 2) Минимальное число, которое может быть напечатано - 2(0+3)=6 3) Максимальное – 2(4+3)=14 4) Поэтому запись 10614 могла быть получена при печати 10-6-14 5) Находим остатки от деления: Последний – 2*(n mod 5+3)=10, n mod 4=2 Второй – 2*(n mod 5+3)=6, n mod 5=0 Первый – 2*(n mod 5+3)=14, n mod 5=4 6) Собираем число – 402. 7) А дальше Поляков пишет: Вы нашли остатки от деления на 5, поэтому прибавлять нужно какое-то число, делящееся на 5. Для того, чтобы получилось однозначное число (ведь это цифра!), можно добавить 0 или 5. Но все остатки - чётные, а по условию все цифры должны получиться нечетные. Поэтому единственный вариант - добавить 5 к каждому полученному остатку. Получили 957.


User: Здравствуйте. А можно поподробнее разобрать данный пример, а то я что-то "не догоняю". Спасибо.

Поляков: User пишет: А можно поподробнее разобрать данный пример, а то я что-то "не догоняю". Пожалуйста сформулируйте вопрос - что именно непонятно.

User: спс, разобрался

Ashot_RM: А наподобие этой задачи больше нет? хочется потренироваться, а то сам не сразу понял как делать..

Поляков: Ashot_RM пишет: А наподобие этой задачи больше нет? С большой вероятностью можно считать, что столь сложных задач не будет. Это только для тренировки мозгов, «тяжело в учении - легко в бою». Будет время - добавлю.

Вася:

Вася: а число 357 подходит или нет?

oval: Вася пишет: а число 357 подходит или нет? Наберите программу и проверьте

Вася: Почему не подходит?

oval: 2*(3 mod 5 +3) не равно 10



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