|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
23.12.2011, 12:57 | #1 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 29
|
дифантовое уравнение
Помогите пожалуйста написать диофантовое уравнения вида ax+by=c, где нужно определить сколько различных пар целых чисел х и у удовлетворяет заданному уравнению?
вот нашла фрагмент в инете на Си... Код:
|
23.12.2011, 21:44 | #2 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,310
|
Я прошлый раз лапухнулся с отрицательными решениями
Но вот прочитал в Википедии, что решение будет тогда, когда c делится нацело на наибольший общий делитель Nod(a,b). Для поиска НОДа пишем функцию (тут и программа для проверки): Код:
Код:
Ваш пример: 3 4 5. NOD(3,4) = 1. Решения есть. Другой пример: 6 9 12 --> 2 3 4. Решения есть. Но утверждается, что для 6 9 17 решения нет. Пробуйте.
Как-то так, ...
|
23.12.2011, 22:07 | #3 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 29
|
что-то я ничего не поняла, подскажите пожалуйста как изменить под данные условия:
Дано уравнение ах+by=c. Сколько различных пар целых чисел х и у удовлетворяют заданному уравнению? Если бесконечно много - выведите -1 Например, входной файл 3 4 5 выходной файл -1 |
23.12.2011, 22:48 | #4 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,310
|
А как следует из Википедии, если есть одно решение, то его можно принять как частное, например x0, y0.
Все остальные ищутся как x = x0-(b/Nod(a,b)) * n y = y0+(a/Nod(a,b)) * n, где n - любое целое. Т.о. если есть решение, то их бесконечно много, а если нет, то и все. В этом легко убедиться если общее решение подставить в исходное уравнение. Т.е. достаточно вывести только два ответа, либо решений нет, либо - -1. Как то так, ...
Как-то так, ...
Последний раз редактировалось ViktorR; 23.12.2011 в 22:51. |
24.12.2011, 21:01 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Katrina* Вы, наверное, НЕ ПОНИМАЕТЕ, что такое кросспостинг! Кросспостинг - создание одинаковых тем. И это строго запрещёно правилами форума. Модератор. p.s. вы прямо напрашиваетесь на бан! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уравнение на Си | hetolon | Общие вопросы C/C++ | 0 | 21.10.2011 23:10 |
Уравнение | Artemini | Помощь студентам | 3 | 21.10.2011 14:19 |
Уравнение | Alexsandr | Visual C++ | 1 | 14.10.2011 11:03 |
уравнение | Poma][a | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.10.2011 20:30 |
уравнение | Екатерина Воробей | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.10.2011 18:42 |