Day 10 递归函数

 

#include <stdio.h>

 

long func(int);                 //func函数调用

 

int main()

{

    int n;                     //调用实参

    scanf("%d",&n);

    printf("%d=%ld",n,func(n));

   

    return 0;

}

 

long func(int n)              //调用形参

{

    if (1==n)

    return 1;

    if (2==n)

    return 2;

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

 

}

 

已知斐波那契函数1,2,3,5,8…n-1,n得到分段函数n=1时为1;n=2时为2;n>2时为(n-1)+(n-2);

同理若求8的n次方时分段函数n=0时为1;n>1时为8*8^(n-1);此时return 8*func(n-1);

 

 

若求x的n次方

#include <stdio.h>

long func(int x,int n);

 

 

 

int main()

{

    int x,n;

    scanf("%d %d",&x,&n);

    printf("%d^%d=%ld\n",x,n,func(x,n));

    return 0;

}

 

long func(int x,int n)

{

    if (n==0)

        return 1;

    return x*func(x,n-1);

}

 

在8的n次方基础上增加一个未知数,需要注意的是由于实参形参一一对应,func函数内部也需要改为func(x,n-1)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值