算法-实验一
算法设计与分析
实验一
第一题
公元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;
}