Power set: Difference between revisions

Content added Content deleted
Line 691: Line 691:


//Non-recursive version
//Non-recursive version
using System;
class powerset
{
static int count = 0, n = 4;
static int [] buf = new int [n];


<lang csharp>
static void Main()
using System;
class powerset
{
{
int ind = 0;
static int count = 0, n = 4;
int n_1 = n - 1;
static int [] buf = new int [n];
for (;;)
static void Main()
{
{
int ind = 0;
for (int i = 0; i <= ind; ++i) Console.Write("{0, 2}", buf [i]);
int n_1 = n - 1;
Console.WriteLine();
count++;
for (;;)
{

if (buf [ind] < n_1) { ind++; buf [ind] = buf [ind - 1] + 1; }
for (int i = 0; i <= ind; ++i) Console.Write("{0, 2}", buf [i]);
Console.WriteLine();
else if (ind > 0) { ind--; buf [ind]++; }
else break;
count++;
if (buf [ind] < n_1) { ind++; buf [ind] = buf [ind - 1] + 1; }
else if (ind > 0) { ind--; buf [ind]++; }
else break;
}
Console.WriteLine("n=" + n + " count=" + count);
}
}
Console.WriteLine("n=" + n + " count=" + count);
}
}
</lang>
}


=={{header|Clojure}}==
=={{header|Clojure}}==