Pagini recente » Cod sursa (job #1169908) | Cod sursa (job #2474365) | Cod sursa (job #3002921) | Cod sursa (job #1974653) | Cod sursa (job #254510)
Cod sursa(job #254510)
#include<fstream.h>
long p,i,j,k,n,q,v[100];
int main()
{
ifstream f("planeta.in");
f>>n>>k;
f.close();
p=1;
for (i=1;i<=n;i++)
v[i]=i;
for (i=2;(i<=n) && (p*i<=k);p*=i,i++);
ofstream g("planeta.out");
int h=n-i+1;
for (j=1;j<=n-i;j++)
{
g<<j<<' ';
v[j]=-1;
}
for (j=h;j<n;j++)
{
q=k/p;
if (k%p!=0) q++;
i=1;
while (q)
if (v[i]==-1) i++;
else {
q--;
i++;
}
g<<v[i-1]<<' ';
v[i-1]=-1;
k=k%p;
if (k==0) k=p;
p/=(n-j);
}
for (i=1;i<=n;i++)
if (v[i]!=-1) g<<v[i];
g.close();
return 0;
}