用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

递归

2017-12-18 作者:柯侧耳倾听者举报

[c]代码库

#include <stdio.h>
#define TARGET 40

int getjc(int i) {
	if (i==1) return 1;
	else return i*getjc(i-1);
}

int fib_1(int a) {
	int x,y=1,s=1;
	if (a==0) return 0;
	for (;a>2;a--) {
		x=y;
		y=s;
		s=x+y;
	}
	return s;
}

int fib_2(int a) {
	if (a==1) return 1;
	if (a==0) return 0;
	return fib_2(a-1)+fib_2(a-2);
}

int addorder(int n,int x,int y) {
	if (n==0) return x;
	if (n==1) return y;
	else return addorder(--n,y,x+y);
}

int fib_3(int a) {
	if (a<2) return a;
	return addorder(a,0,1);
}

int main() {
	printf("%d\n",fib_1(TARGET));
	printf("%d\n",fib_2(TARGET));
	printf("%d\n",fib_3(TARGET));
	return 0;
}


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。