#include <stdio.h>
int a[100];
int Fib(int n){
printf("関数が開始されました。引数は%dです",n
); /*これだと計算回数が多い
int a,b;
if(n==0){
return 0;
}else if(n==1){
return 1;
}else{
return Fib(n-2)+Fib(n-1);
}*/
if(n==0) return 0;
if(n==1) return 1;
if(a[n]!=-1) return a[n];
a[n]=Fib(n-1)+Fib(n-2);
return a[n];
}
int main(){
for(int i=0;i<100;i++){
a[i]=-1;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBhWzEwMF07CmludCBGaWIoaW50IG4pewogICAgcHJpbnRmKCLplqLmlbDjgYzplovlp4vjgZXjgozjgb7jgZfjgZ/jgILlvJXmlbDjga8lZOOBp+OBmSIsbik7CiAgICAvKuOBk+OCjOOBoOOBqOioiOeul+WbnuaVsOOBjOWkmuOBhAogICAgaW50IGEsYjsKICAgIGlmKG49PTApewogICAgICAgIHJldHVybiAwOwogICAgfWVsc2UgaWYobj09MSl7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9ZWxzZXsKICAgICAgICByZXR1cm4gRmliKG4tMikrRmliKG4tMSk7CiAgICB9Ki8KICAgaWYobj09MCkgcmV0dXJuIDA7CiAgIGlmKG49PTEpIHJldHVybiAxOwogICBpZihhW25dIT0tMSkgcmV0dXJuIGFbbl07CiAgIGFbbl09RmliKG4tMSkrRmliKG4tMik7CiAgIHJldHVybiBhW25dOwogICAKfQppbnQgbWFpbigpewogICAgZm9yKGludCBpPTA7aTwxMDA7aSsrKXsKICAgICAgICBhW2ldPS0xOwogICAgfQogICAgcHJpbnRmKCIlZFxuIixGaWIoNikpOwogICAgCiAgICByZXR1cm4gMDsKCn0=