算法-实验一

算法设计与分析

实验一

第一题

公元5世纪,我国古代数学家张丘建在他所撰写的《算经》中,提出了这样的一个问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”意思是公鸡每只5元,母鸡每只3元,小鸡每3只1元。用100元买100只鸡,求公鸡、母鸡、小鸡的只数。
【输出形式】输出结果形式:一个答案一行

#include<iostream>
using namespace std;

void func()
{
    for(int i=0; i<=100/5; ++i)
    {
        for(int j=0; j<=100/3; ++j)
        {
            for(int k=0; k<=99; ++k)
            {
                if(5*i+3*j+k/3==100 && k%3==0 && i+j+k==100)
                {
                    cout<<i<<" "<<j<<" "<<k<<endl;
                }
            }
        }
    }
}

int main()
{
    func();
    return 0;
}

第二题

递归方式求n的阶乘。
【输出形式】n!的结果
【样例输入】4
【样例输出】24

#include<iostream>
using namespace std;
int func(int n)
{
    if(n==0)
    {
        return 1;
    }
    return n*func(n-1);
}
int main()
{
    int n;
    cin>>n;
    cout<<func(n);
    return 0;
}

第三题

递归方式求斐波那契数列。

【输出形式】第n项的值
【样例输入】3
【样例输出】2

#include<iostream>
using namespace std;
int Fib(int n)
{
    if(n==0)
    {
        return 0;
    }
    else if(n==1)
    {
        return 1;
    }
    return Fib(n-1)+Fib(n-2);
}
int main()
{
    int n;
    cin>>n;
    cout<<Fib(n);
    return 0;
}
posted @ 2022-08-16 18:09  HD0117  阅读(47)  评论(0编辑  收藏  举报