ур-ние |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
ур-ние |
Antonina |
Сообщение
#1
|
Гость |
Даны три числа A, B и M (0<=A,B<M). Найдите такое X (0<=X<M), что A*X имеет остаток B при делении на M.
Входные данные Даны целые A, B и M (1<=M<=10^9). Выходные данные Выведите любое Х удовлетворяющее условию задачи. Если такого не существует -- выведите -1. Пример Ввод 3 2 10 Вывод 4 как решать ума не приложу. |
Orion |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 23 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
А просто циклом от 0 до M проверять все возможные X не подходит?
|
klem4 |
Сообщение
#3
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Перебор врядли .. проверь вот это :
var Цитата(Orion) А просто циклом от 0 до M проверять все возможные X не подходит? Ага, если M = 10 ^ 9 = 1000000000 :D Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Antonina |
Сообщение
#4
|
Гость |
Перебор врядли .. проверь вот это : var Ага, если M = 10 ^ 9 = 1000000000 :D klem4? не всегда работает. тесты дать не могу т.к. сам их не знаю. |
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
приведи хотя бы те на которых не работает, подумаем еще .. решение очень простое должно быть, я уверен
Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
Сообщение
#6
|
Гость |
|
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Отлично, что за онлай тест ? ссылку дал бы чтоли, у нас телепатов нет.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
Сообщение
#8
|
Гость |
сссори,но я она,А НЕ ОН. к сожалению он не доступен для москвы. тока для нашего региона.
|
klem4 |
Сообщение
#9
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Чот я запутался
Смотрите берем такой вариант a = 3; b = 1; m = 7; aX mod m = b; 3x mod 7 = 1; x = 5; Далее рассуждение : ax mod m = b; (ax - b) = ax div m * m <=> (3*5 - 1) = (3*5 div 7) * 7 <=> 14 = (15 div 7) * 7 <=> 14 = 2 * 7; ax - ax div m * m = b; <=> 15 - 14 = 1 а вот дальше нестыковка ... x = b / (a - a div m * m); так как a div m = 3 div 7 = 0, знаменатель равен просто a, и х получается = 1/3 пора спать. Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Pola |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: 0 |
ax mod m = b
ax-b mod m = 0 ax-b = km k-целое надо подобрать, чтобы найти x x:=(k*m+b) div a Код var a,b,m,k : integer; begin readln(a,b,m); k:=1; while (k*m+b) mod a <>0 do inc(k); write ((k*m+b) div a); readln; end. |
volvo |
Сообщение
#11
|
Гость |
Pola, вводим в приведенную тобой программу следующие данные:
A = 3; B = 200; M = 156000 Что должно быть в результате? -1... Твоя программа возвращает 8376 при запуске в TP, и -715815464 под FPC... Цитата(Правила Раздела) 7. Проверяйте программы перед тем, как запостить их!!! |
Pola |
Сообщение
#12
|
Новичок Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: 0 |
Ну вот...
то дай ошибку поикать, то проверяй сама Ты меня конечно извини, но если ты уже ищешь у всех в программах ошибки, а сама при этом их допускаешь - то где логика? Какие будут предложения для проверки несуществования х? чем нибудь k ограничим? Я тебя конечно извиняю, volvo, но я не говорила, что сама их не допускаю В одной из тем, даже просила поискать... я так думаю: не существует, если 1) b>=m 2) ? какие еще ? Сообщение отредактировано: volvo - |
Pola |
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: 0 |
так лучше?
var Сообщение отредактировано: Pola - |
Текстовая версия | 14.05.2024 7:09 |