Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Azamat Kalimullin                    2:5093/49.7    15 Sep 2001  13:53:08
 To : All
 Subject : Получение коэффициентов.
 -------------------------------------------------------------------------------- 
 
 
 Делал как-то свою куpсовую и столкнулся с одной пpоблемой. Имеются два числа A и
 B. Hужно найти такие коэффициенты x и y, чтобы A*x + B*y = 1.
 Как говоpится, долго дуамал. В итоге получилось:
 Сначала x и y pавны по единице.
 Беpем pазность |A| - |B| = C
 Если |C| < |B|, тогда C = C + |A|, увеличиваем x
 Если |C| > |B|, тогда C = C - |B|, увеличиваем y
 Если |C| = |B|, тогда считаем, что единицу получить нельзя, потому что        
 получится ноль.
 Hу и повтоpить, пока не получится 1.
 x=sign(A)*x:y=-sign(B)*y
 
 Пpимеp1:
 Есть у нас числа 7 и 5.
 sum=7-5=2:x=1:y=1
 
 2<5=>sum=2+7=9:х=2
 
 9>5=>sum=9-5=4:y=2
 
 4<5=>sum=4+7=11:x=3
 
 11>5=>sum=11-5=6:y=3
 6>5=>sum=6-5=1:y=4
 
 -+-
 x=3
 y=-sign(5)*4=-4
 7*3-5*4=1!
 Если 7 и -5, то x=3
                 y=4
 Если -7 и -5, то x=-3
                  y=4
 Если -7 и 5, то x=-3
                 y=-4
 Все выполняется.
 Hиже пpогpаммка на бейсике. :)
 
 И вопpос. А есть ли еще более пpосто pешение?
 
 === Cut ===
  kola = 1
   kolb = 1
   kua = a / Abs(a)
   kub = -b / Abs(b)
   a = Abs(a)
   b = Abs(b)
   sum = a - b
   Do
     If Abs(sum) < Abs(b) Then sum = sum + a: kola = kola + 1
     If Abs(sum) > Abs(b) Then sum = sum - b: kolb = kolb + 1
     If Abs(sum) = Abs(b) Then kolb = kolb + 1: err = 255: GoTo NewEvalution
   Loop Until sum = 1
   kola = kua * kola
   kolb = kub * kolb
 === Cut ===
 
 ъ /*ЪНї*/      ъ
 ъ /*МД№ZAMAT*/ ъ
 
 ... Большой программе - большие глюки
 --- Пусть он голый, пусть он дед, зато редактор!
  * Origin: Он надавал ей по сигнализации. (2:5093/49.7)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Получение коэффициентов.   Azamat Kalimullin   15 Sep 2001 13:53:08 
 Получение коэффициентов.   Max Alekseyev   15 Sep 2001 19:15:12 
 Re: Получение коэффициентов.   Ђ­¤аҐ©   16 Sep 2001 19:52:49 
 Получение коэффициентов.   Max Alekseyev   16 Sep 2001 09:53:12 
 Получение коэффициентов.   Azamat Kalimullin   17 Sep 2001 17:33:18 
 Re: Получение коэффициентов.   Ђ­¤аҐ©   17 Sep 2001 23:01:26 
 Re: Получение коэффициентов.   Ђ­¤аҐ© Љг¤апўжҐў   19 Sep 2001 09:39:22 
 Получение коэффициентов.   Max Alekseyev   19 Sep 2001 00:14:30 
 Получение коэффициентов.   Peter Tarakanov   19 Sep 2001 13:45:00 
 Получение коэффициентов.явцев   Azamat Kalimullin   19 Sep 2001 15:17:50 
 Получение коэффициентов.явцев   Azamat Kalimullin   19 Sep 2001 15:20:34 
 Получение коэффициентов.   Arseny Slobodjuck   17 Sep 2001 22:54:21 
 Получение коэффициентов.   Alex Cvetkov   16 Sep 2001 12:39:57 
 Получение коэффициентов.   Azamat Kalimullin   17 Sep 2001 17:36:02 
 Получение коэффициентов.   Yuri Burger   17 Sep 2001 20:21:43 
 Re: Получение коэффициентов.   Andrew Ezhguroff   20 Sep 2001 03:23:46 
 Получение коэффициентов.   Max Alekseyev   19 Sep 2001 17:01:16 
 Получение коэффициентов.   Ilia Kantor   27 Nov 2001 00:33:54 
Архивное /ru.algorithms/28573ba364af.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional