<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93917</guid>
        <pubDate>Thu, 28 Nov 2002 14:22:48 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93917</link>
        <description><![CDATA[Azatrix: Огроооомное вам СПАСИБО!!! &nbsp; :D]]></description>
        <author>Azatrix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93916</guid>
        <pubDate>Tue, 26 Nov 2002 18:58:14 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93916</link>
        <description><![CDATA[31415: Вот программа, осуществляющая то, что тебе нужно. По-моему, работает весьма быстро. Проблемы могут быть лишь с переполнением LongInt, но допиcывать работу с длинными целыми как-то было лень.<br>
<br>
Основная программа.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{$DEFINE NoInput}</div><div class="code_line">{Writes the first l numbers that contain prime numbers p1, p2, p3 as deviders}</div><div class="code_line">{$A+,B-,D+,E+,F-,G+,I+,L+,N+,O-,P-,Q-,R+,S+,T-,V+,X+,Y+}</div><div class="code_line">{$M 16384,0,655360}</div><div class="code_line">uses queue;</div><div class="code_line">&nbsp;</div><div class="code_line">Function Min(a, b, c: LongInt): LongInt;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; if a &#62;= b then</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     if b &#62;= c then</div><div class="code_line">&nbsp;       min := c</div><div class="code_line">&nbsp;     else</div><div class="code_line">&nbsp;       min := b;</div><div class="code_line">&nbsp;   end</div><div class="code_line">&nbsp; else</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     if c &#60;= a then</div><div class="code_line">&nbsp;       min := c</div><div class="code_line">&nbsp;     else</div><div class="code_line">&nbsp;       min := a;</div><div class="code_line">&nbsp;   end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Procedure Primes(p1, p2, p3, l: LongInt);</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; q1, q2, q3: TQueue;</div><div class="code_line">&nbsp; x, y, z, a, i: LongInt;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; q1.Init;</div><div class="code_line">&nbsp; q2.Init;</div><div class="code_line">&nbsp; q3.Init;</div><div class="code_line">&nbsp; q1.Push(p1);</div><div class="code_line">&nbsp; q2.Push(p2);</div><div class="code_line">&nbsp; q3.Push(p3);</div><div class="code_line">&nbsp; i := 0;</div><div class="code_line">&nbsp; while i &#60; l do</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     x := q1.Top;</div><div class="code_line">&nbsp;     y := q2.Top;</div><div class="code_line">&nbsp;     z := q3.Top;</div><div class="code_line">&nbsp;     a := min(x, y, z);</div><div class="code_line">&nbsp;     write(a, &#39; &#39;);</div><div class="code_line">&nbsp;     q1.Push(a * p1);</div><div class="code_line">&nbsp;     q2.Push(a * p2);</div><div class="code_line">&nbsp;     q3.Push(a * p3);</div><div class="code_line">&nbsp;     if x = a then q1.Pop;</div><div class="code_line">&nbsp;     if y = a then q2.Pop;</div><div class="code_line">&nbsp;     if z = a then q3.Pop;</div><div class="code_line">&nbsp;     Inc(i);</div><div class="code_line">&nbsp;   end;</div><div class="code_line">&nbsp; q1.Done;</div><div class="code_line">&nbsp; q2.Done;</div><div class="code_line">&nbsp; q3.Done;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; p1, p2, p3, l: LongInt;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">{$IFNDEF NoInput}</div><div class="code_line">&nbsp; WriteLn(&#39;Enter first prime: &#39;);</div><div class="code_line">&nbsp; ReadLn(p1);</div><div class="code_line">&nbsp; WriteLn(&#39;Enter second prime: &#39;);</div><div class="code_line">&nbsp; ReadLn(p2);</div><div class="code_line">&nbsp; WriteLn(&#39;Enter third prime: &#39;);</div><div class="code_line">&nbsp; ReadLn(p3);</div><div class="code_line">{$ELSE}</div><div class="code_line">&nbsp; p1 := 2; p2 := 3; p3 := 5;</div><div class="code_line">{$ENDIF}</div><div class="code_line">&nbsp; WriteLn(&#39;Enter number of primes: &#39;);</div><div class="code_line">&nbsp; ReadLn(l);</div><div class="code_line">&nbsp; Primes(p1, p2, p3, l);</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Юнит с очередью.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{Queue of Integer}</div><div class="code_line">{$A+,B-,D+,E+,F-,G+,I+,L+,N+,O-,P-,Q-,R+,S+,T-,V+,X+,Y+}</div><div class="code_line">{$M 16384,0,655360}</div><div class="code_line">unit Queue;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">Type</div><div class="code_line">&nbsp; PNode = ^TNode;</div><div class="code_line">&nbsp; TNode = object</div><div class="code_line">&nbsp;   private</div><div class="code_line">&nbsp;     data: LongInt;</div><div class="code_line">&nbsp;     pNext: pNode;</div><div class="code_line">&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp; PQueue = ^TQueue;</div><div class="code_line">&nbsp; TQueue = object</div><div class="code_line">&nbsp;   private</div><div class="code_line">&nbsp;     pTop : pNode;</div><div class="code_line">&nbsp;     pLast: pNode;</div><div class="code_line">&nbsp;   public</div><div class="code_line">&nbsp;     Constructor Init;</div><div class="code_line">&nbsp;     Destructor Done;</div><div class="code_line">&nbsp;     Procedure Push(x: LongInt);</div><div class="code_line">&nbsp;     Function  Pop: LongInt;</div><div class="code_line">&nbsp;     Function  Top: LongInt;</div><div class="code_line">&nbsp;     Function  Empty: Boolean;</div><div class="code_line">&nbsp;     Procedure Show;</div><div class="code_line">&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">Constructor TQueue.Init;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; pTop := nil;</div><div class="code_line">&nbsp; pLast := nil;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Destructor TQueue.Done;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; tmp: PNode;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; while pTop &#60;&#62; nil do</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     tmp := pTop;</div><div class="code_line">&nbsp;     pTop := pTop^.pNext;</div><div class="code_line">&nbsp;     Dispose(tmp);</div><div class="code_line">&nbsp;   end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Procedure TQueue.Push(x: LongInt);</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; tmp: PNode;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; New(tmp);</div><div class="code_line">&nbsp; tmp^.pNext := nil;</div><div class="code_line">&nbsp; tmp^.Data := x;</div><div class="code_line">&nbsp; if pLast = nil then</div><div class="code_line">&nbsp;   pTop := tmp</div><div class="code_line">&nbsp; else</div><div class="code_line">&nbsp;   pLast^.pNext := tmp;</div><div class="code_line">&nbsp; pLast := tmp;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Function TQueue.Pop: LongInt;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; tmp: PNode;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; if Empty then</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     WriteLn(&#39;Error in Queue.Pop: Queue is empty&#39;);</div><div class="code_line">&nbsp;     Halt;</div><div class="code_line">&nbsp;   end</div><div class="code_line">&nbsp; else</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     Pop := pTop^.Data;</div><div class="code_line">&nbsp;     tmp := pTop;</div><div class="code_line">&nbsp;     pTop := pTop^.pNext;</div><div class="code_line">&nbsp;     Dispose(tmp);</div><div class="code_line">&nbsp;     if pTop = nil then pLast := nil;</div><div class="code_line">&nbsp;   end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Function TQueue.Top: LongInt;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; if Empty then</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     WriteLn(&#39;Error in Queue.Top: Queue is empty&#39;);</div><div class="code_line">&nbsp;     Halt;</div><div class="code_line">&nbsp;   end</div><div class="code_line">&nbsp; else</div><div class="code_line">&nbsp;   Top := pTop^.Data;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Function TQueue.Empty: Boolean;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; Empty := pTop = nil;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Procedure TQueue.Show;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; tmp: pNode;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp; write(&#39;Queue: &#39;);</div><div class="code_line">&nbsp; tmp := pTop;</div><div class="code_line">&nbsp; while tmp &#60;&#62; nil do</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     Write(tmp^.data, &#39; &#39;);</div><div class="code_line">&nbsp;     tmp := tmp^.pNext;</div><div class="code_line">&nbsp;   end;</div><div class="code_line">&nbsp; Writeln;</div><div class="code_line">end;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>31415</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93915</guid>
        <pubDate>Tue, 26 Nov 2002 13:17:26 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93915</link>
        <description><![CDATA[S.Yu.Gubanov: Время вычисления меньше 1 сек (на P4 1800Mhz)<br>
тысячное число в последовательности Хемминга получается<br>
51 840 000 = 2^10 * 3^4 * 5^4<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">const HVATIT_ZA_GLAZA = 100;</div><div class="code_line">var x,y,z, h: integer;</div><div class="code_line">&nbsp;   Kx,Ky,Kz: double;</div><div class="code_line">&nbsp;   HemSeq : Array of double;</div><div class="code_line">begin</div><div class="code_line">&nbsp; Kx := ln(2);</div><div class="code_line">&nbsp; Ky := ln(3);</div><div class="code_line">&nbsp; Kz := ln(5);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp; SetLength(HemSeq, HVATIT_ZA_GLAZA*HVATIT_ZA_GLAZA*HVATIT_ZA_GLAZA);</div><div class="code_line">&nbsp; h := -1;</div><div class="code_line">&nbsp; for x:=0 to HVATIT_ZA_GLAZA-1 do</div><div class="code_line">&nbsp;  for y:=0 to HVATIT_ZA_GLAZA-1 do</div><div class="code_line">&nbsp;    for z:=0 to HVATIT_ZA_GLAZA-1 do</div><div class="code_line">&nbsp;      begin</div><div class="code_line">&nbsp;        inc(h);</div><div class="code_line">&nbsp;        HemSeq[h] := Kx*x + Ky*y + Kz*z;</div><div class="code_line">&nbsp;      end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp; qsort(HemSeq);</div><div class="code_line">&nbsp; </div><div class="code_line">&nbsp; ShowMessage(IntToStr(Round(exp(HemSeq[1000]))));</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
<br>
qsort() - это стандартная процедура быстрой сортировки массива (Сортирует за N*Log(N) операций)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure qsort(var A: array of double);</div><div class="code_line">&nbsp;   procedure sort(l,r: integer);</div><div class="code_line">&nbsp;     var i,j: integer;</div><div class="code_line">&nbsp;         x,y: double;</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     i := l;</div><div class="code_line">&nbsp;     j := r;</div><div class="code_line">&nbsp;     x := A[ (l + r) div 2 ];</div><div class="code_line">&nbsp;     repeat</div><div class="code_line">&nbsp;       while A[i] &#60; x do inc(i);</div><div class="code_line">&nbsp;       while x &#60; A[j] do dec(j);</div><div class="code_line">&nbsp;       if not (i&#62;j) then</div><div class="code_line">&nbsp;         begin</div><div class="code_line">&nbsp;           y    := A[i];</div><div class="code_line">&nbsp;           A[i] := A[j];</div><div class="code_line">&nbsp;           A[j] := y;</div><div class="code_line">&nbsp;           inc(i);</div><div class="code_line">&nbsp;           dec(j);</div><div class="code_line">&nbsp;         end;</div><div class="code_line">&nbsp;     until i&#62;j;</div><div class="code_line">&nbsp;     if l &#60; j then sort(l,j);</div><div class="code_line">&nbsp;     if i &#60; r then sort(i,r);</div><div class="code_line">&nbsp;   end;</div><div class="code_line">begin</div><div class="code_line">&nbsp; sort(0,High(A));</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>S.Yu.Gubanov</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93914</guid>
        <pubDate>Tue, 26 Nov 2002 10:55:54 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93914</link>
        <description><![CDATA[PropellerMan: &nbsp;Ок, я посмотрю.]]></description>
        <author>PropellerMan</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93913</guid>
        <pubDate>Tue, 26 Nov 2002 08:43:14 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93913</link>
        <description><![CDATA[Azatrix: PropellerMan, у тебя прога работает как-то неправильно. 100-ный элемент последовательности должен быть равен 1600 (это все, что мне дано). Может быть ты не понял условие?]]></description>
        <author>Azatrix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93912</guid>
        <pubDate>Tue, 26 Nov 2002 07:37:26 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93912</link>
        <description><![CDATA[S.Yu.Gubanov: Поскольку любое число f последовательности Хемминга представимо в виде<br><br>f(x,y,z) = (2^x)*(3^y)*(5^z) = exp( Kx*x + Ky*y + Kz*z) = exp( g(x,y,z) )<br><br>где x,y,z - натуральные числа, Kx = Log(2), Ky = Log(3), Kz = Log(5), и функция exp() является монотонной, то упорядочивать их по возрастанию можно упорядочивая числа g<br><br>g(x,y,z) = Kx*x + Ky*y + Kz*z,<br><br>которые вычислять чуть-чуть попроще. Если хорошенько подумать, то, быть может, числа g удастся упорядочить по возрастанию даже аналитически, т. е. отыскать такие целочисленные функции x(n), y(n), z(n), что <br><br>g(n+1) == g( x(n+1), y(n+1), z(n+1) ) &nbsp;&gt; &nbsp;g( x(n), y(n), z(n) ) == g(n)<br><br>Собственно, пока это все что я хотел сказать.<br>]]></description>
        <author>S.Yu.Gubanov</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93911</guid>
        <pubDate>Mon, 25 Nov 2002 11:11:09 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93911</link>
        <description><![CDATA[PropellerMan: Кстати, в массиве queue.num есть все элементы последовательности до K]]></description>
        <author>PropellerMan</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93910</guid>
        <pubDate>Mon, 25 Nov 2002 11:10:14 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93910</link>
        <description><![CDATA[PropellerMan: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">type</div><div class="code_line">&nbsp; tqueue=record</div><div class="code_line">&nbsp;   num,parent:int64;</div><div class="code_line">&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp; queue:array[1..10000] of tqueue;</div><div class="code_line">&nbsp; head,tail,t2:int64;</div><div class="code_line">&nbsp;</div><div class="code_line">function was(n:int64):boolean;</div><div class="code_line">var</div><div class="code_line">&nbsp; i:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp; was:=false;</div><div class="code_line">&nbsp; for i:=1 to tail do</div><div class="code_line">&nbsp;   if queue[i].num=n then</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     was:=true;</div><div class="code_line">&nbsp;     exit;</div><div class="code_line">&nbsp;   end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure add(n,p:int64);</div><div class="code_line">begin</div><div class="code_line">&nbsp; inc(tail);</div><div class="code_line">&nbsp; queue[tail].num:=n;</div><div class="code_line">&nbsp; queue[tail].parent:=p;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure buildqueue(max:int64);</div><div class="code_line">var</div><div class="code_line">&nbsp; i,j:integer;</div><div class="code_line">&nbsp; n:int64;</div><div class="code_line">begin</div><div class="code_line">&nbsp; head:=1;</div><div class="code_line">&nbsp; tail:=4;</div><div class="code_line">&nbsp; repeat</div><div class="code_line">&nbsp;   t2:=tail;</div><div class="code_line">&nbsp;   for i:=head to tail do</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     n:=queue[i].num;</div><div class="code_line">&nbsp;     if not was(n*2) then</div><div class="code_line">&nbsp;       add(n*2,i);</div><div class="code_line">&nbsp;     if not was(n*3) then</div><div class="code_line">&nbsp;       add(n*3,i);</div><div class="code_line">&nbsp;     if not was(n*5) then</div><div class="code_line">&nbsp;       add(n*5,i);</div><div class="code_line">&nbsp;   end;</div><div class="code_line">&nbsp;   head:=t2+1;</div><div class="code_line">&nbsp; until tail&#62;=max;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">Procedure Sort(Left,right:int64);</div><div class="code_line">var</div><div class="code_line">&nbsp; l,r,m,s:int64;</div><div class="code_line">Begin</div><div class="code_line">&nbsp; l:=left;</div><div class="code_line">&nbsp; r:=right;</div><div class="code_line">&nbsp; m:=queue[(l+r) div 2].num;</div><div class="code_line">&nbsp; repeat</div><div class="code_line">&nbsp;   while queue[l].num&#60;m do inc(l);</div><div class="code_line">&nbsp;   while queue[r].num&#62;m do dec(r);</div><div class="code_line">&nbsp;   if l&#60;=r then</div><div class="code_line">&nbsp;   begin</div><div class="code_line">&nbsp;     s:=queue[l].num;</div><div class="code_line">&nbsp;     queue[l].num:=queue[r].num;</div><div class="code_line">&nbsp;     queue[r].num:=s;</div><div class="code_line">&nbsp;     dec(r);</div><div class="code_line">&nbsp;     inc(l);</div><div class="code_line">&nbsp;   end;</div><div class="code_line">&nbsp; until l&#62;r;</div><div class="code_line">&nbsp; if r&#62;left then sort(Left,r);</div><div class="code_line">&nbsp; if l&#60;right then sort(l,right);</div><div class="code_line">End;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp; fillchar(queue,sizeof(queue),0);</div><div class="code_line">&nbsp; queue[1].num:=2;</div><div class="code_line">&nbsp; queue[2].num:=3;</div><div class="code_line">&nbsp; queue[3].num:=4;</div><div class="code_line">&nbsp; queue[4].num:=5;</div><div class="code_line">&nbsp; buildqueue(strtoint(edit1.text));</div><div class="code_line">&nbsp; sort(1,tail);</div><div class="code_line">&nbsp; edit2.text:=inttostr(queue[strtoint(edit1.text)].num);</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
в edit1 вводишь K.<br>
в edit2 выводится само число.<br>
даже до 10000 пишет почти сразу.<br>
Алгоритм полностью извращенный, но работает быстро.]]></description>
        <author>PropellerMan</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93909</guid>
        <pubDate>Sun, 24 Nov 2002 10:43:41 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93909</link>
        <description><![CDATA[MBo: здесь не смотрел?<br>http://www.research.att.com/~njas/sequences/]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93908</guid>
        <pubDate>Sat, 23 Nov 2002 14:44:41 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93908</link>
        <description><![CDATA[Azatrix: Последовательность Хемминга - это расположенные в возрастающем порядке числа, не имеющие простых делителей, отличных от 2,3, и 5. Ее начало имеет вид: 2,3,4,5,6,8,9,10,12,15... Мне надо найти K&lt;=1000 член этой последовательности.<br><br>Сделал прогу, но она работает ужасно медленно! Может найдутся сабжы, которые предложат более оптимизированный код? &nbsp;8)]]></description>
        <author>Azatrix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93907</guid>
        <pubDate>Fri, 22 Nov 2002 16:02:53 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93907</link>
        <description><![CDATA[S.Yu.Gubanov: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>AAR, 22.11.02, 18:12:03</span><div class='quote '>Как найти K-ый член этой последовательности K&lt;=1000?</div></div><br><br>Напиши хоть это за последовательность???<br>]]></description>
        <author>S.Yu.Gubanov</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93906</guid>
        <pubDate>Fri, 22 Nov 2002 15:12:03 +0000</pubDate>
        <title>Последовательность Хемминга...</title>
        <link>https://forum.sources.ru/index.php?showtopic=9756&amp;view=findpost&amp;p=93906</link>
        <description><![CDATA[Azatrix: Как найти K-ый член этой последовательности K&lt;=1000?]]></description>
        <author>Azatrix</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	