All pastes #41843 Raw Edit

Unnamed

public text v1 · immutable
#41843 ·published 2006-02-16 16:27 UTC
rendered paste body
#include<stdio.h>

int permute[20];
int a[20];
int N;

void inita()
{
	int i;
	for(i=0;i<20;i++)
		a[i]=i;

}

void shift(int n)
{
	int i;
	for(i=n;i<N;i++)
		a[i]=a[i+1];
}




long fact(int n)
{
	int fact=1;
	int i;
	for(i=1;i<=n;i++)
		fact=fact*i;
	return fact;

}

void permuter(int m)
{
	
	long i;
	int k=m-1;
	int j;
	int l;
	int flag=0,f=0;
	int r;
	for(i=0;i<fact(m);i++)
	{

		inita();
		l=i;
		k=m-1;
		f=0;
		for(j=0;j<m;j++)
		{

			r=l/fact(k);
			l=l%fact(k);
			k--;
			permute[j]=a[r];
			shift(r);
		}
		for(j=0;j<m;j++)
		{
			printf("%d",permute[j]+1);
		}
		printf("\n");
	}
}






int main()
{
	N=7;

	permuter(N);


	return 0;
}