![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Sofo4ka |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
задуманно натуральное число х.известны три числа- остатки от деления этого числа 3,5,7 - i,j,k соответсвенно. найти Х
|
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
а что непонятного ?
X mod 3 = a a, b, c - известны Задача кстати решалась, можно поискать. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
х=3l*i
x=5m*j x=7t*k потом типа 3l*i=5m*j так объяснили |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Sofo4ka, простым перебором чисел находишь те, что удовлетворяют заданным условиям. Этого тебе вполне хватит (все официальные решения с олимпиад этой задачи основывались именно на переборе - проблем ни у кого не возникло...)
|
Sofo4ka |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
а у мя возникла )
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
В чем именно?
Запустить цикл от 1 до 32767 (максимально возможное число для Integer), и для каждого числа проверять равенство остатков от его деления на 3, 5, 7 числам i, j, k соответственно? |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот что я придумал :
uses crt; Вот только будет ли это быстрее обычного перебора ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Невероятно
![]() global := 0; Эскизы прикрепленных изображений ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата Невероятно ![]() Потому, что некорректно ![]() uses windows, crt; Эскизы прикрепленных изображений ![]() |
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
LOL
![]() Спасибо ![]() Sofo4ka, используй простой перебор ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Michael_Rybak |
![]()
Сообщение
#11
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
Только перебирать надо не до 32767, а до 3*5*7.
Если a == b (mod 3), то (a-b) == 0 (mod 3) Если a == b (mod 5), то (a-b) == 0 (mod 5) Если a == b (mod 7), то (a-b) == 0 (mod 7) А если (a-b) == 0 (mod 3, 5 и 7), то (a-b) == 0 mod (3 * 5 * 7). Поэтому, найдя первый ответ X, надо выводить по очереди все числа вида X + 105 * K, и только их. |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 19:33 |