用C语言实现“百鸡问题”的求解

本文介绍使用C语言解决古代数学难题百鸡问题的方法。通过双重循环遍历所有可能的组合,找出符合题设条件的答案。文章提供完整的代码示例及运行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 用C语言实现“百鸡问题”的求解


《张邱建算经》中,是原书卷下第38题,也是全书的最后一题:「今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?答曰:鸡翁四,值钱二十;鸡母十八,值钱五十四;鸡鶵七十八,值钱二十六。又答:鸡翁八,值钱四十;鸡 母十一,值钱三十三,鸡鶵八十一,值钱二十七。又答:鸡翁十二,值钱六十;鸡母四、值钱十二;鸡鶵八十 四,值钱二十八。」该问题导致三元不定方程组,其重要之处在于开创「一问多答」的先例,这是过去中国古算书中所没有的。

 

代码如下:

 

  1. #include<stdio.h>
  2. main()
  3. {
  4.     int cocks = 0;
  5.     int hens,chicks;
  6.     while(cocks <= 19)
  7.     {
  8.         hens = 0;
  9.         while(hens <= 33)
  10.         {
  11.             chicks = 100 - cocks - hens;
  12.             if(5 * cocks + 3 * hens + chicks /3 == 100)
  13.                 printf("%d,%d,%d/n",cocks,hens,chicks);
  14.             hens ++ ;
  15.         }
  16.         cocks ++ ;
  17.     }
  18.     getch();
  19. }

 

代码非常简单的。关键是要思路清晰。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值