C/C++の宿題を片付けます 107代目
■ このスレッドは過去ログ倉庫に格納されています
0698691
2008/05/25(日) 15:56:26改良しました。
//compile as C++
int fibo(int n){
static int *fibonatti_seq_table=NULL;
static int already_done=1;
if( (n<0) || (n>46) )return -1;
if(n<=1)return 1;
if(n<=already_done)return fibonatti_seq_table[n];
if(fibonatti_seq_table==NULL){
fibonatti_seq_table=new int[47];
for(int i=2;i<=46;i++){
fibonatti_seq_table[i]=fibo(i-1)+fibo(i-2);
already_done=i;
}
}
return fibo(n);
}
■ このスレッドは過去ログ倉庫に格納されています