<?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=376765&amp;view=findpost&amp;p=3312419</guid>
        <pubDate>Thu, 16 May 2013 06:56:45 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312419</link>
        <description><![CDATA[sis12qw: Ура нашел :)<br>
<br>
перебор неповторяющихся комбинаций <br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><br>
#include &lt;iostream&gt;<br>
#include &lt;vector&gt;<br>
<br>
using std::vector;<br>
using std::cin;<br>
using std::cout;<br>
using std::endl;<br>
<br>
int n, k;<br>
vector&lt;int&gt; v;<br>
<br>
void comb(int num)<br>
{<br>
	if(num &gt; k)<br>
	{<br>
		for(int i=1; i&lt;=k; i++)<br>
			cout &lt;&lt; v[i];<br>
		cout &lt;&lt; endl;<br>
		return;<br>
	}<br>
	v[num] = v[num-1]+1;<br>
	while(v[num] &lt;= n)<br>
	{<br>
		comb(num+1);<br>
		v[num]++;<br>
	}<br>
	return;<br>
}<br>
<br>
<br>
int main(void)<br>
{<br>
	cin &gt;&gt; n &gt;&gt; k;<br>
	v.resize(k+1);<br>
	v[0]=0;<br>
	comb(1);<br>
	return 0;<br>
}<br>
</div></div><br>
<br>
всем лучи добра за подсказки и полезные ссылки :)]]></description>
        <author>sis12qw</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312360</guid>
        <pubDate>Thu, 16 May 2013 04:58:12 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312360</link>
        <description><![CDATA[Akina: <a class='tag-url' href='http://algolist.manual.ru/maths/combinat/seqnm.php' target='_blank'>http://algolist.manual.ru/maths/combinat/seqnm.php</a>]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312346</guid>
        <pubDate>Thu, 16 May 2013 04:23:09 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312346</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=376765&view=findpost&p=3312331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>sis12qw &#064; <time class="tag-quote__quoted-time" datetime="2013-05-16T02:39:28+00:00">16.05.13, 02:39</time></span><div class='quote '>А если сохранить порядок перебора: сначала просто элементы, потом пары, потом тройки...<br>
В моем случае, вроде как алгоритм должен остановиться на пятерках-шестерках</div></div><br>
Можно генерировать сочетания из n по 2, 3, 4 и т.д. Алгоритм генерации сочетаний есть <a class='tag-url' href='http://e-maxx.ru/algo/generating_combinations' target='_blank'>тут</a>.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312335</guid>
        <pubDate>Thu, 16 May 2013 03:13:30 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312335</link>
        <description><![CDATA[Pavia: Тут проще не заморачиваться, а написать 5-6 твоих циклов.<br><br>А если хочется для произвольного просто храни счётчик в массиве. Перебор идёт до тех пор пока счётчек в элементе 0 не переполниться тогда просто увеличиваешь +1 элемени с индексом 1 если и он переполнился то увеличиваешь следующий.  Это всёравно что суммирование длинного числа с единицей. <br><br>А вообще тут рост алгоритма экспоненциальный так что перебор вам ещё надо будет оптимизировать.]]></description>
        <author>Pavia</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312331</guid>
        <pubDate>Thu, 16 May 2013 02:39:28 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312331</link>
        <description><![CDATA[sis12qw: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=376765&view=findpost&p=3312330'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2013-05-16T02:19:56+00:00">16.05.13, 02:19</time></span><div class='quote '>Перебором битмасок - перебирать все числа от 0 до 2<sup class='tag-sup'>n</sup>-1, если соответствующий бит единичный, то элемент, соответствующий этому биту берется.</div></div><br>
Спасибо.<br>
<br>
А если сохранить порядок перебора: сначала просто элементы, потом пары, потом тройки...<br>
В моем случае, вроде как алгоритм должен остановиться на пятерках-шестерках]]></description>
        <author>sis12qw</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312330</guid>
        <pubDate>Thu, 16 May 2013 02:19:56 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312330</link>
        <description><![CDATA[OpenGL: Перебором битмасок - перебирать все числа от 0 до 2<sup class='tag-sup'>n</sup>-1, если соответствующий бит единичный, то элемент, соответствующий этому биту берется.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312328</guid>
        <pubDate>Thu, 16 May 2013 02:02:21 +0000</pubDate>
        <title>Алгоритм перебора пар, троек, четверок и тд элементов</title>
        <link>https://forum.sources.ru/index.php?showtopic=376765&amp;view=findpost&amp;p=3312328</link>
        <description><![CDATA[sis12qw: Прошу помощи.<br>
 Есть вектор N действительных значений. A = [a1, a2, ... an]<br>
 Как лучше реализовать универсальный перебор различных комбинаций элементов(пары, двойк, тройки, четверки, пятерки и тд.) на проверку условия? Например, сумма элементов комбинации равна 1.<br>
 <br>
Если, перебор комбинаций из одного элемента вектора - это 1 цикл вида: for i=1 to N if a[i]=1 then... )<br>
 Если перебор комбинаций пар элементов, то нужен двойной вложенный цикл (for i=1 to N for j=i to N if a[i]+a[j]=1 then...)<br>
 Если, перебор комбинаций троек элеметов, то 3й вложеный цикл: for i=1 to N for j=i to N for k=j to N if a[i]+a[j]+a[k]=1<br>
 и тд<br>
 <br>
А как это реализовать в одном алгоритме?]]></description>
        <author>sis12qw</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	