#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int Refibo(int x){
int k;
if(x==0 ||x==1){
return 1;
}
else{
k=Refibo(x-1)+Refibo(x-2);
return k;
}
}
int fibo(int x){
int i=1, j=1, sum=0, a=1;
if(x==0 ||x==1){
return 1;
}
else{
do{
sum=i+j;
a=a+1;
j=i;
i=sum;
}while(a < x);
return sum;
}
}
int main(void) {
clock_t ti[3];
Refibo(40);
fibo(40);
printf("再帰を用いるフィボナッチ数列の関数の時間は、%d\n用いない関数の時間は、%dです。\n", ti
[1]-ti
[0], ti
[2]-ti
[1]); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBSZWZpYm8oaW50IHgpewoJaW50IGs7CglpZih4PT0wIHx8eD09MSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCWs9UmVmaWJvKHgtMSkrUmVmaWJvKHgtMik7CgkJcmV0dXJuIGs7Cgl9Cn0KCmludCBmaWJvKGludCB4KXsKCWludCBpPTEsIGo9MSwgc3VtPTAsIGE9MTsKCWlmKHg9PTAgfHx4PT0xKXsKCQlyZXR1cm4gMTsKCX0KCWVsc2V7Cglkb3sKCQlzdW09aStqOwoJCWE9YSsxOwoJCWo9aTsKCQlpPXN1bTsKCX13aGlsZShhIDwgeCk7CglyZXR1cm4gc3VtOwoJfQp9CgppbnQgbWFpbih2b2lkKSB7CgljbG9ja190IHRpWzNdOwoJdGlbMF0gPSBjbG9jaygpOwoJUmVmaWJvKDQwKTsKCXRpWzFdID0gY2xvY2soKTsKCWZpYm8oNDApOwoJdGlbMl0gPSBjbG9jaygpOwoJcHJpbnRmKCLlho3luLDjgpLnlKjjgYTjgovjg5XjgqPjg5zjg4rjg4Pjg4HmlbDliJfjga7plqLmlbDjga7mmYLplpPjga/jgIElZFxu55So44GE44Gq44GE6Zai5pWw44Gu5pmC6ZaT44Gv44CBJWTjgafjgZnjgIJcbiIsIHRpWzFdLXRpWzBdLCB0aVsyXS10aVsxXSk7CglyZXR1cm4gMDsKfQo=