递归 基线 收敛

 

递归 基线

 

factorial
#include<stdio.h>

/* function prototype */
long factorial(long number);

/* function main begins program execution */
int main(void) {
	int i;
	for(i=0; i<=10; i++) {
		printf("%2d!=%ld\n",i,factorial(i));
	}
	return 0;
}

/* recursivr definition of function factorial */
long factorial(long number) {
	/* base case */
	if(number<=1) {
		return 1;
	} else {
		return number*factorial(number-1);
	}
}

  

0!=1
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040
8!=40320
9!=362880
10!=3628800
请按任意键继续. . .

 

 

#include <stdio.h>
long fibonacci(long n);

int main(void) {
	long result,number;

	printf("Enter an integer:");
	scanf("%ld",&number);

	result=fibonacci(number);

	printf("Fibonacci(%ld)=%ld\n",number,result);

	return 0;
}

long fibonacci(long n) {
	/* base case */
	if(n==0 || n==1) {
		return n;
	} else {
		return fibonacci(n-1)+fibonacci(n-2);
	}
}

  

 

 

 

#include <stdio.h>
long fibonacci(long n);

int main(void) {
	long result,start,end,number;
	int i;

	printf("Enter an integer-SATRT:");
	scanf("%ld",&start);
	printf("Enter an integer-END:");
	scanf("%ld",&end);

	for (i=start; i<=end; i++) {
		number = i;
		result=fibonacci(number);
		printf("Fibonacci(%ld)=%ld\n",number,result);
	}

	return 0;
}

long fibonacci(long n) {
	/* base case */
	if(n==0 || n==1) {
		return n;
	} else {
		return fibonacci(n-1)+fibonacci(n-2);
	}
}

  

Enter an integer-SATRT:0
Enter an integer-END:11
Fibonacci(0)=0
Fibonacci(1)=1
Fibonacci(2)=1
Fibonacci(3)=2
Fibonacci(4)=3
Fibonacci(5)=5
Fibonacci(6)=8
Fibonacci(7)=13
Fibonacci(8)=21
Fibonacci(9)=34
Fibonacci(10)=55
Fibonacci(11)=89
请按任意键继续. . .

 

posted @ 2019-03-06 22:49  papering  阅读(294)  评论(0编辑  收藏  举报