Поиск числа по условию |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Поиск числа по условию |
freehold |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Надо написать программу которая при вводе числа X, нашла бы ближайшее число, которое меньше числа X, которое делится на 5 и 7 без остатка.
Сообщение отредактировано: freehold - |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
ближайшее число, которое меньше числа X, которое делится на 5 и 7 без остатка. Редкий случай, когда пригождается repeat / until repeat Надеюсь, вводимое число подразумевается целым. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
А вот вариант совсем без циклов..
const -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
freehold |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Редкий случай, когда пригождается repeat / until repeat Надеюсь, вводимое число подразумевается целым. я только начал изучать Pascal, но разве: until x mod (5*7)=0 , не означает until x mod 35=0? ещё раз для ясности пример программы: x=37 - число которое мы ввели. тоесть программа должна вывести число 35 , так как оно ближайшее, меньшее число до 37, которое одновременно делится и на 5, и на 7 без остатка. |
Lapp |
Сообщение
#5
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
я только начал изучать Pascal, но разве: until x mod (5*7)=0 , не означает until x mod 35=0? Да, означает. Ты хочешь сам перемножить эти два числа? Я предпочитаю, чтоб машина за меня перемножила. Это лучше потому, что так меньше разнообразия чисел в программе. Если в коде будут присктствовать одновременно и 5, и 7, и 35 - проще запутаться. Ну, тут еще легко сообразить, что 35 - это произведение двух остальных, но могло быть и гораздо сложнее. Например, вместо 5 и 7 были бы 3789 и 211 - вот и ищи произведение.. Проще оставить, как они есть. А еще лучше - сделать именованные константы (как я сделал в решении без циклов).Цитата x=37 - число которое мы ввели. Вроде так, да.. А что - не работатет, что ли?..тоесть программа должна вывести число 35 , так как оно ближайшее, меньшее число до 37, которое одновременно делится и на 5, и на 7 без остатка. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
freehold |
Сообщение
#6
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
я не догоняю зачем перемножать 5 и 7? )
тогда же получится until x mod 35=0; а мне поидее надо until (x mod 5=0) and (x mod 7=0) Добавлено через 19 мин. а всё догнал )) всё работает большое спасибо за помощь Сообщение отредактировано: freehold - |
Текстовая версия | 10.05.2024 4:29 |