|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 4
|
||||||
Диофантово уравнение расширенным методом Евклида01.03.2015, 11:23. Показов 5072. Ответов 5
Метки нет (Все метки)
Добрый день,уважаемые форумчане.Пытаюсь написать код для следующей задачки,но почему то преподаватель никак ее не принимает.В программировании новичок,не судите строго и помогите чем сможете,буду благодарна.
Задача такая: вводим переменные a,b,T, на выходе должно получиться диофантово уравнение ax+by=T Мои попытки:Эта работает не для всех вырожденных случаев,а именно если ввести 4,8,9 то не работает.
Буду благодарна любым подсказкам,хочется сделать из всего этого нормально работающую программу для всех случаев.
0
|
||||||
| 01.03.2015, 11:23 | |
|
Ответы с готовыми решениями:
5
Обратный элемент в кольце вычетов. Найти s расширенным алгоритмом Евклида |
|
Модератор
|
||
| 01.03.2015, 12:54 | ||
|
Пока не вникая в ваш код, отправлю по ссылке на хорошие пояснительные материалы на e-maxx.ru и в Wikipedia.
0
|
||
|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 4
|
|
| 01.03.2015, 13:05 [ТС] | |
|
Павел,Вы правы,не подумала.но вне зависимости от этого последний вариант программы не принимается преподавателем,аргументируется тем что плохой код.возможно мой код как то неграмотен на взгляд программиста?просто я чуть ли не "на пальцах" рассматриваю все вырожденные случаи,может это неверно?Все ресурсы(и те что Вы указали в частности) мной уже давно изучены,так как маюсь с программой не первую неделю.
0
|
|
|
Модератор
|
|||||||||||
| 01.03.2015, 14:34 | |||||||||||
Сообщение было отмечено yulya2311 как решение
Решение
Ладно. Пусть для рассмотрения будем пользоваться 2-программой - я вижу в ней теги "расширенный алгоритм Евклида" (обозначу его далее по тексту, как РАЕ).
Немного позанудствую - для улучшения восприятия советую воспользоваться форматтером кода "Jedi Code Formatter". В сети можно поискать. И на сегодняшний день yandex в поиске выдаёт на 1-й странице пару мест, где я пояснял как его установить и пользоваться. Итак, твоя 2-я программа
1. a=0, b=0, T=0 - бесконечное множество решений с произвольными x и y 2. a=0, b=0, T<>0 - нет ни одного решения Т.е. нет ни одного деления по модулю. Кроме того, в глаза бросается переменная g типа real - диофантовы уравнения исключительно целочисленны и в них нет места "плавучке". Я полагаю, что нужно было организовать целочисленное деление, и незнание синтаксиса Pascal сыграло злую шутку. Целочисленное деление - div. Т.е. "g:=T div b;". Это для начала. Пересмотри ещё раз весь код. Добавлено через 1 час 5 минут Чтобы не ждать долго, выложу тот код, что сейчас набросал по пояснениям в e-maxx. Ограничения: 1. Коэффициенты a и b - только неотрицательные. Для отрицательных нужно сделать ещё некоторые телодвижения, описанные в e-maxx. 2. Не хотелось терять время на понимание принципа расширенного алгоритма Евклида, поэтому портировал с исходника на C, взятого с того же e-maxx. Надеюсь, что правильно.
1. Не используются вычисления с плавающей точкой. Нигде. 2. Иначе (и проще), но согласно пояснительным материалам, организовано рассмотрение вырожденных случаев.
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 4
|
|
| 01.03.2015, 14:51 [ТС] | |
|
Павел,Спасибо,сейчас буду разбираться в своих косяках.
У меня есть похожая задачка,попробую в ней применить Ваши идеи вечером,и выложу что получилось.
0
|
|
|
Модератор
|
|
| 01.03.2015, 15:01 | |
|
Идеи не мои. Этим уравнениям несколько тысяч лет и примерно столько же - их аналитическим решениям.
Здесь есть хорошее правило: если алгоритм по описанию применим, то вне зависимости от понимания и восприятия (он может выглядеть как заклинание), его нужно воспроизводить точно и дословно. Ровно по тем же самым причинам - чтобы не поднять мертвецов с близжайшего кладбища или не пополнить их количество внезапно большими поступлениями. Но пытаться понять, как работает алгоритм, всё равно нужно и полезно для саморазвития.
0
|
|
| 01.03.2015, 15:01 | |
|
Помогаю со студенческими работами здесь
6
Диофантово уравнение Диофантово уравнение Диофантово уравнение Диофантово уравнение — 2 Диофантово уравнение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|