Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
#1

Прокомментировать код - C++

07.02.2012, 01:38. Просмотров 321. Ответов 0
Метки нет (Все метки)

Всем привет!

Недавно нашел в интернете код функции для разбиения числа на слагаемые. Код был без комментариев, поэтому я так и не понял сам алгоритм. Прокомментируйте кто-нить (и желательно обьясните суть алгоритма):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define MIN(x, y)  ((x) < (y) ? (x) : (y))
long a[1000];
 
void Partition(long n, long high, long pos)
{
   long i;
   if (n > 0)
   {
       for (i = 1; i <= high; i++)
       {
          a[pos] = i;
          Partition(n - i, MIN(i, n - i), pos + 1);
       }
   }
   else
   {
       for (i = 0; i < pos - 1;  i++)
          std::cout << a[i] << "+";
       std::cout << a[i] << "\n";
   }
}
Заранее спсибо!

Добавлено через 21 час 40 минут
Например, для n=4 прога выведет такое:
1+1+1+1
2+1+1
2+2
3+1
4
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2012, 01:38     Прокомментировать код
Посмотрите здесь:

Прокомментировать код - C++
Добрый день. Для тех у кого времени хватает и нечем заняться, просьба прокомментировать след. код : // A simple computerized telephone...

Прокомментировать код - C++
помогите понять этот код int main(){ const int PASSWORD_LENGTH=10; const char *...

Прокомментировать код - C++
#pragma hdrstop #include &lt;conio.h&gt; #include &lt;cmath&gt; #include &lt;iostream&gt; using namespace std; int main() { int k =...

Прокомментировать код - C++
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста. int dwsp(double* x, double* y); int...

Прокомментировать код - C++
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { double eps,...

Прокомментировать код - C++
Задание : С клавиатуры вводиться строка символов (не более 10). Опередить сколько символов стоят после двоеточия. Весь код: ...

Прокомментировать код - C++
Имеется небольшая часть программки, вот в собственно в чем вопрос &quot;коментарии&quot; void v(double*a, int &amp;n , int l,double d) // int...

Прокомментировать код - C++
Прокомментировать код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #define n 5 int main() { int...

Прокомментировать код - C++
нужно описать что делают строки готовой программы #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; ...

Прокомментировать код - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;math.h&gt; main() ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru