Pagini recente » Cod sursa (job #557157) | Cod sursa (job #1551100) | Cod sursa (job #2918122) | Cod sursa (job #1995509) | Cod sursa (job #3135632)
#include <iostream>
#include <fstream>
using namespace std;
long long a[31];
ifstream f("planeta.in");
ofstream g("planeta.out");
void rezolvare(int x,int n,long long k,long long a[]){
int i=x;
while(a[i-x]*a[n-i]<=k and i<=n){
k=k-a[i-x]*a[n-i];
i++;
}
g<<i<<" ";
if(x<i)
rezolvare(x,i-1,k/a[n-i],a);
if(i<n)
rezolvare(i+1,n,k%a[n-i],a);
}
int main() {
int n;
long long k;
f>>n>>k;
a[0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
a[i]+=a[i-j]*a[j-1];
for(int i=0;i<=n;i++)
cout<<a[i]<<" ";
k--;
rezolvare(1,n,k,a);
f.close();
g.close();
return 0;
}