Napisałem program stanowiący rozwiązanie zadania: http://opss.safo.biz/?menu=comp&sub=prob&comp=0&prob=1012
lecz niestety cały czas system opss pokazuje błędne rozwiązanie.
A niestety wyniki otrzymuje poprawne, więc może ktoś poda mi jakąś wskazówkę
bo nic mi do głowy nie przychodzi ...

#include <stdio.h>
#include <stdlib.h>

#define n 256

int podstaw( int a[n],int b[n])
// podstawiamy za a b.
{
 int i;
 for(i=0;i<n;i++)
 {
 a[i]=b[i];
 }
 return(0);
}

int noten(int a[n])
{  int i;
 for(i=n-1;i>1;i--)
 {
 if(a[i]>9)
 {
 a[i]=a[i]%10;
 a[i-1]++  ;
 }
 }
 if(a[1]>9)
 {
 for(i=n-1;i>2;i--)
 {
 a[i]=a[i-1];
 }
 a[2]= a[1]%10;
 a[1]= 1;
      a[0]++;

 }

 return(0);
}

int main()
{
 int a1[n],a2[n];
 int st,i,j,k;
 int ilosc;
 int ktore[500];
 scanf("%d", &ilosc);
 for(i=0;i<ilosc;i++ )
 scanf("%d",&ktore[i]);

 for(k=0;k<ilosc;k++)
 {
 st=ktore[k];
 first=1;
 for(i=0;i<n;i++){a1[i]=0;a2[i]=0;}
 //a1[0] zawsze przechowuje ilosc cyfr w liczbie
 a1[0]=2;a1[1]=1;a1[2]=1;// zaczynamy od 11
 
 for(i=2;i<=st;i++)//pierwszy for przeglada potegi
 {
 a2[1]=a1[1];a2[a1[0]+1 ]=1;
 for(j=2; j<=a1[0]; j++)
 {
 a2[j]= a1[j-1]+ a1[j] ;
 }
 a2[0]=a1[0]+1;
 podstaw(a1,a2);

 noten(a1);

 }

   
 for(i=1;i<=a1[0];i++)
 printf("%d",a1[i]);
 printf("n");
       }
 exit(0);
}