【无标题】银行家算法

//

// timing.c

//  

//

// Created by Jianwei Liao (for experiemnt 1)

// Copyright (c) Southwest University. All rights reserved.

//

 

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/time.h>

#define MILLION 1000000

 

int fib_rec(int n){

 if(n==1||n==2){

  return 1;

 } 

 return fib_rec(n-1) + fib_rec(n-2);

}

 

int fib_nonrec(int n){

 int a=0,b=1,i,t;

 if(n==0||n==1)

 return 1;

 

 else

 for(i=1;i<n;i++){

  t=a+b;

  a=b;

  b=t;

 }

 return t;

 

}

 

/* should be called at the begining */

static struct timeval time_start(){

    struct timeval tv;

    gettimeofday(&tv, NULL);

    return tv;

}

 

/* timediff in mili-seconds */

static long msdiff(struct timeval start){

    struct timeval tv;

    gettimeofday(&tv, NULL);

    return ((MILLION*(tv.tv_sec-start.tv_sec)+tv.tv_usec-start.tv_usec)/1000);

}

 

int main(int argc, char *argv[])

{

 struct timeval p1;

 int result;

 /* get the start point */

     int n;

     //scanf(n);

    

 p1 = time_start();

    

 result=fib_rec(40);

 /Òeep(2);

 

 /* print out the consumed time in ms */

 printf("Value is %d, Comsumed Time:%ld ms\n",result,msdiff(p1));

 return EXIT_SUCCESS;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值