求助 C语言高手 如何用递归调用法 求数列 1 2 2 4 8 32 。。。

来源:百度知道 编辑:UC知道 时间:2024/06/10 10:31:42
就是说后一项是前两项的乘积
要我们输出第N项的值 N是自己输入的~!
一楼的这样不对吧 N是项数 不是项值啊 。。。是用前两项的项值相乘啊。。

#include<stdio.h>

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

int main()
{
int iNum;
scanf("%d",&iNum);
if(iNum < 2)
{
printf("error\n");
return -1;
}
int k = func(iNum);
printf("%d",k);
return 0;
}

#include <stdio.h>

int fib(int n) {
if (n == 1) return 1;
else return n * fib(n - 1);
}

void main(void) {
int n = 10;//这里改成你要的数字
printf("%d\n", fib(n));
}

#include <stdio.h>

main()
{
long int sum[100];
int i,n;
printf("请输入n的值");
scanf("%d",&n);
sum[0]=1;
sum[1]=2;

for(i=2;i<n;i++)
{
sum[i]=sum[i-1]*sum[i-2];
if(i%5==0)printf("\n");

}
//输出递归序列<