алгоритм евклида |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
алгоритм евклида |
Feagor |
10.01.2008 15:28
Сообщение
#1
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
условие в прикрепленном файле.
вот то что сделал, дальше что делать не врубаюсь uses crt; Сообщение отредактировано: Feagor - 10.01.2008 16:11 Эскизы прикрепленных изображений -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Tan |
10.01.2008 15:43
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Тут материал с пояснением.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Feagor |
10.01.2008 16:06
Сообщение
#3
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
2 Tan - посмотри внимательно задание, и посмотри пожалуста, что у меня сделано! на той ссылке лежит разъянению функции, которая считает нод!
function nod(a, b:longint):longint; она у меня написана, проблема в том что вообще делать дальше?! -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Tan |
10.01.2008 16:22
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Алгоритм Евклида - это поиск наибольшего общего делителя двух целых чисел, что и сделано в приведённой мной ссылке. Не вижу проблемы.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Michael_Rybak |
10.01.2008 17:38
Сообщение
#5
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Tan, имеется ввиду расширенный алгоритм Эвклида. Посмотри объяснение, присоединенное к первому посту.
Feagor, тебе нужно кроме f и a еще считать коэффициенты p и s такие, что для любого i: f[0] * s[i] + f[1] * p[i] = f[i]. Как это сделать, написано в том объяснении. Ответом будет пара (s[n], p[n]). |
Feagor |
10.01.2008 19:59
Сообщение
#6
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
2 Michael_Rybak в каком объяснении?я туплю?=)
а с вариантом Б) и В) что делать? Сообщение отредактировано: Feagor - 10.01.2008 20:04 -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
10.01.2008 20:01
Сообщение
#7
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
б) - сократи уравнение на нод и подумай что дальше делать
в) - делай то что там сказано. вычисляй не s[i] и p[i] а только s[i]. |
Feagor |
10.01.2008 20:03
Сообщение
#8
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
спасип, буду разбиратся! понял на счет объяснения, туплю!!!
Сообщение отредактировано: Feagor - 10.01.2008 20:05 -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Feagor |
10.01.2008 20:24
Сообщение
#9
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
после десятикратного прочтения объяснения, до сих пор не могу понять как искать u и v...
-------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
10.01.2008 21:15
Сообщение
#10
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
u=s[n]
v=p[n] |
Feagor |
11.01.2008 11:11
Сообщение
#11
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
а n- это последний член? или как?
-------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Feagor |
11.01.2008 12:18
Сообщение
#12
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
по материалам algolist.manual.ru решил сделать вот так:
uses crt; заработало!!! остались б и в Сообщение отредактировано: Feagor - 11.01.2008 12:33 -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
11.01.2008 12:19
Сообщение
#13
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
работает неправильно на каком тесте?
|
Feagor |
11.01.2008 12:41
Сообщение
#14
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
2 Michael_Rybak попровил свои кривые ручки - заработало, помоги с написанием б
-------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
11.01.2008 12:50
Сообщение
#15
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
про б я тебе уже сказал что делать.
|
Feagor |
11.01.2008 13:04
Сообщение
#16
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
ну вот смотри, берем уравнение fu+gv=nod(f,g) делим его на нод fu/nod(f,g)+fg/nod(f,g)=1 выносим за скобку u и g u*(f/nod(f,g))+v*(g/nod(f,g))=1, тогда m=1; k=f/nod(f,g); l=g/nod(f,g) Я правильно тебя понял так делать?
Добавлено через 1 мин. тольков объяснении кажись что-то другое написано -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
11.01.2008 13:49
Сообщение
#17
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Не совсем так.
Тебе нужно вычислить не m, k и l - они тебе даны! А вычислить нужно х и у. Берешь уравнение kx + ly = m, и делишь его на нод(x, y). |
Feagor |
11.01.2008 13:54
Сообщение
#18
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
Цитата Берешь уравнение kx + ly = m, и делишь его на нод(x, y). может не нод(x,y), а нод(k,l)?-------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Michael_Rybak |
11.01.2008 14:17
Сообщение
#19
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Ой Да, конечно.
|
Feagor |
11.01.2008 14:26
Сообщение
#20
|
ыыыыщщщщщщыыыы Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Иван Репутация: 0 |
вот что получилось:
uses crt; Вроде работает, Michael_Rybak +1 за великое знание Сообщение отредактировано: Feagor - 11.01.2008 14:29 -------------------- Никогда не задавайте вопрос, если не уверены, что хотите получить ответ...
|
Текстовая версия | 5.06.2024 11:34 |