多语言展示
当前在线:1041今日阅读:75今日分享:44

利用C语言探究“鸡兔同笼问题”

“鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,其内容是:“今有雉(鸡)兔同笼,上有三十五头,下有九十四足。问雉兔各几何。” 。
工具/原料
1

电脑一台。

2

CodeBlocks 17.12带GNU GCC编译器(其他版本可能略有不同)

方法/步骤
1

分析题意,我们断定鸡和兔的数量都在0到35(包含0和35)。用一个整型变量来保存鸡的数量:int ji=0; // 声明变量时最好赋初值。用一个整型变量来保存兔的数量:int tu=0; 再声明一个整型变量来保存足的数量:int zu = 0;变量声明代码如下:    int ji = 0;    int tu = 0;    int zu = 0;

2

我们知道鸡和兔的数量之和是35,所以tu = 35 - ji;而鸡和兔的总足数就是zu = ji*2 + tu * 4;也就是说,我们只要给一个鸡的只数,就可以表示出总足数。

3

我们用一个for循环来遍历ji从0到35的所有可能,当zu等于94时把鸡和兔的数量打印在屏幕上,就是我们需要的结果。全部代码如下:#include #include int main(){    int ji = 0;    int tu = 0;    int zu = 0;    for(ji=0;ji<=35;ji++)    {        tu = 35 - ji;        zu = ji*2 + tu * 4;        {            if(zu==94)            printf('Ji=%d, Tu=%d, Zu=%d\n', ji, 35-ji, zu);        }    }    getchar();  // 运行时防止屏幕快速消失,便于观察运行结果    return 0;}

4

最后得到的结果是:Ji=23, T=12, Zu=94祝你也能得到正确的结果。如果题目的数量不同,可以试着改一下,看能够求出正确结果,祝你成功!

注意事项

不同C版本可能略有不同。

推荐信息