经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
【C语言程序设计】百钱买百鸡(百钱百鸡,百鸡问题)!
来源:cnblogs  作者:C语言编程学习基地  时间:2021/3/8 11:56:03  对本文有异议

中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?

 

实现过程:

使用 for 语句对 3 种鸡的数嫌在事先确定好的范围内进行穷举并判断,对满足条件的 3 种鸡的数量按指定格式输出,否则进行下次循环。

 

程序代码如下:

  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int cock,hen,chick; /*定义变童为基本整型*/
  6.  
  7. for(cock=0;cock<=20;cock++) /*公鸡范围在 0~20 之间*/
  8.  
  9. for(hen=0;hen<=33;hen++) /*母鸡范围在 0~33 之间*/
  10.  
  11. for(chick=3;chick<=99;chick++) /*小鸡范围在 3~99 之间*/
  12.  
  13. if(5*cock+3*hen+chick/3==100) /*判断钱数是否等于 100*/
  14.  
  15. if(cock+hen+chick==100) /*判断购买的鸡数是否等于 100*/
  16.  
  17. if(chick%3==0) /*判断小鸡数是否能被 3 整除*/
  18. printf("公鸡:%d,母鸡:%d,小鸡:%d\n",cock,hen,chick);
  19. return 0;
  20. }

 

运行结果:

公鸡:0,母鸡:25,小鸡:75

公鸡:4,母鸡:18,小鸡:78

公鸡:8,母鸡:11,小鸡:81

公鸡:12,母鸡:4,小鸡:84

 

技术要点:

根据题意设公鸡、母鸡和雏鸡分别为 cock、hen 和 chick。

    ? 如果 100 元全买公鸡,那么最多能买 20 只,所以 cock 的范围是大于等于 0 且小于等于 20;

    ? 如果全买母鸡,那么最多能买 33 只,所以 hen 的范围是大于等于 0 且小于等于 33;

    ? 如果 100 元钱全买小鸡,那么最多能买 99 只(根据题意小鸡的数量应小于 100 且是 3 的倍数)。

在确定了各种鸡的范围后进行穷举并判断,判断的条件有以下 3 点:

        (1) 所买的 3 种鸡的钱数总和为 100。

        (2) 所买的 3 种鸡的数量之和为 100。

        (3) 所买的小鸡数必须是 3 的倍数。


 

不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~

【值得关注】我的 编程学习交流俱乐部 


 

原文链接:http://www.cnblogs.com/huya-edu/p/14490573.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号