#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int Fib(int n){
if(n==0) return 0;
int a[n+1];
a[0]=0;
a[1]=1;
for(int i=2;i<=n;i++){
a[i]=a[i-2]+a[i-1];
}
return a[n];
}
int Fib1(int n){
if(n==0){
return 0;
}else if(n==1){
return 1;
}else{
return Fib1(n-2)+Fib1(n-1);
}
}
int main(){
clock_t ti[3];
printf("Fib(20)の時間= %d\n", ti
[1]-ti
[0]); printf("Fib1(20)の時間= %d\n", ti
[2]-ti
[1]); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KaW50IEZpYihpbnQgbil7CiAgICBpZihuPT0wKSByZXR1cm4gMDsKICAgIGludCBhW24rMV07CiAgICBhWzBdPTA7CiAgICBhWzFdPTE7CiAgICBmb3IoaW50IGk9MjtpPD1uO2krKyl7CiAgICAgICAgYVtpXT1hW2ktMl0rYVtpLTFdOwogICAgfQogICAgcmV0dXJuIGFbbl07Cn0KaW50IEZpYjEoaW50IG4pewogICAgaWYobj09MCl7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9ZWxzZSBpZihuPT0xKXsKICAgICAgICByZXR1cm4gMTsKICAgIH1lbHNlewogICAgICAgIHJldHVybiBGaWIxKG4tMikrRmliMShuLTEpOwogICAgfQp9CmludCBtYWluKCl7CgljbG9ja190IHRpWzNdOwoJdGlbMF0gPSBjbG9jaygpOwoJcHJpbnRmKCIlZFxuIixGaWIoMjApKTsKCXRpWzFdID0gY2xvY2soKTsKCXByaW50ZigiRmliKDIwKeOBruaZgumWkz0gJWRcbiIsIHRpWzFdLXRpWzBdKTsKICAgIHByaW50ZigiJWRcbiIsRmliMSgyMCkpOwoJdGlbMl0gPSBjbG9jaygpOwoJcHJpbnRmKCJGaWIxKDIwKeOBruaZgumWkz0gJWRcbiIsIHRpWzJdLXRpWzFdKTsKICAgIHJldHVybiAwOwp9