c语言作业day9

题一、

递归实现斐波那契数列,1,1,2,3,5,8,13,21,34,55,89,144……

 

#include <stdio.h>

int main()
{
    int fibonacci(int num);
    int a, i;
    printf("请输入需要输出斐波那契数列的个数:");
    scanf("%d", &a);

    for (i = 1; i < a; i++)
        printf("%d ", fibonacci(i));
    printf("\n");
}

int fibonacci(int num)
{
    if (num < 2)
        return 1;
    else
        return fibonacci(num - 1) + fibonacci(num - 2);
}

题二、

 一个人赶着鸭子去每个村庄卖,每经过一个 村子卖去所赶鸭子的一半又一只。 这样他经过了 七个村子后还剩 两只鸭子,问问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?

#include <stdio.h>

int main()
{
    int sell(int num);
    int i=0,j = 0;

    printf("最开始有%d\n", fun(7));
    for (i = 6;i > 0;i--)
    {
        printf("第%d个村子卖了%d只鸭子\n", i, sell(i) - sell(i + 1));
    }
    return 0;
}

int sell(int num)
{
    if (num <= 0)
    {
        return 2;
    }
    else
    {
        return (sell(num - 1) + 1) * 2;
    }
}

 用i--反向求卖的鸭子数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值