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);
}