经典兔子个数计算算法分析 分析对比*

经典兔子个数计算算法分析 分析对比
//
// Created by root on 18-10-18.
//
#include <stdio.h>
#include <time.h>
int main(){

double start, finish;

start = clock();//取开始时间
printf("第%d个月,总共有%d只兔子!\n", 40, sumNum(40));
finish = clock();//取结束时间
printf( "%f 1 seconds\n",(finish - start) / CLOCKS_PER_SEC);//以秒为单位显示之

start = clock();//取开始时间
printf("第%d个月,总共有%ld只兔子!\n", 40, sumNum2(40));
finish = clock();//取结束时间
printf( "%f 2 seconds\n",(finish - start) / CLOCKS_PER_SEC);//以秒为单位显示之

return 0;

}

//a
int sumNum(int m){
if(m == 1 || m == 2){
return 1;
}else if(m > 2){
return sumNum(m-2) + sumNum(m-1);
}
}

//b
int sumNum2(int size){

int arr [size];
int i;

arr[0] = 1;
arr[1] = 1;

for (i = 2; i < size ; ++i) {
    arr[i] = arr[i-2] + arr[i-1];
}

return arr[size-1];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值