Имя: Пароль:
1C
1С v8
У кого-нибудь есть реализация алгоритма Евклида для 1С?
0 Зеленый Кот
 
19.01.15
15:46
надо...
1 Зеленый Кот
 
19.01.15
15:47
или бинарный алгоритм вычисления НОД...
2 aka AMIGO
 
19.01.15
15:48
А самому написать?
будешь первым :)
3 ДенисЧ
 
19.01.15
15:48
спасибо, что, не возведение в квадрат попросил...
4 Зеленый Кот
 
19.01.15
15:50
значит нет...
придется самому писать ;)
5 Дмитрий
 
19.01.15
15:50
Евклид писал для 1С, когда еще и 1С не было, уважаю
6 Timon1405
 
19.01.15
15:50
Функция НОД(а,б)
    Остаток =а%б;
    Если Остаток=0 Тогда
        Возврат б;
    Иначе
        Возврат НОД(б,Остаток);
    КонецЕсли;
КонецФункции
7 Зеленый Кот
 
19.01.15
15:51
(7)
круто!
спасибо большое!
8 Зеленый Кот
 
19.01.15
15:52
Евклид вообще был умный мужик!
9 Asmody
 
19.01.15
15:54
Пока меньшее больше нуля, повторяй:
НОД ему временно ты приравняй,
Большое на меньшее ты раздели,
Остаток ты меньшим теперь назови,
Большим НОД назови ты теперь,
К началу вернись и Евклида проверь!
10 Asmody
 
19.01.15
15:54
"Юный техник" форева!!!
11 Aceforg
 
19.01.15
16:21
(7) Доверяй, но проверяй
НОД(4,7) = 1
12 Aceforg
 
19.01.15
16:25
+ упс, облажался
13 СвинТуз
 
19.01.15
16:31
(6)
по нод был не остаток от деления насколько я помню

Пока а<>б Цикл
Если а>б Тогда
а=а-б;
Иначе
б=б-а;
КонецЕсли
КонецЦикла
14 ILM
 
гуру
19.01.15
16:32
(0) А в наше время он был Эвклидом.
15 Timon1405
 
19.01.15
16:32
(13) Внезапно : (а) и (а-б) имеют одинаковые остатки по модулю "б"...
16 СвинТуз
 
19.01.15
16:34
(15)
старый стал ленивый
я же написал , что не помню уже ничего
17 СвинТуз
 
19.01.15
16:36
Описание алгоритма нахождения НОД вычитанием

Из большего числа вычитаем меньшее.
Если получается 0, то значит, что числа равны друг другу и являются НОД (следует выйти из цикла).
Если результат вычитания не равен 0, то большее число заменяем на результат вычитания.
Переходим к пункту 1

http://younglinux.info/algorithm/euclidean

делением тоже можно
но делить сложнее
18 СвинТуз
 
19.01.15
16:37
я не подглядывал )))