• 【C语言程序设计】百钱买百鸡(百钱百鸡,百鸡问题)!


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

    实现过程:

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

    程序代码如下:

    #include <stdio.h>
    
    int main()
    
    {
    
        int cock,hen,chick;  /*定义变童为基本整型*/
    
        for(cock=0;cock<=20;cock++)  /*公鸡范围在 0~20 之间*/
    
        for(hen=0;hen<=33;hen++)  /*母鸡范围在 0~33 之间*/
    
        for(chick=3;chick<=99;chick++)  /*小鸡范围在 3~99 之间*/
    
        if(5*cock+3*hen+chick/3==100)  /*判断钱数是否等于 100*/
    
        if(cock+hen+chick==100)  /*判断购买的鸡数是否等于 100*/
    
        if(chick%3==0)  /*判断小鸡数是否能被 3 整除*/
    
        printf("公鸡:%d,母鸡:%d,小鸡:%d
    ",cock,hen,chick);
    
        return 0;
    
    }

    运行结果:

    公鸡: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 的倍数。


     

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

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


     
  • 相关阅读:
    IE浏览器兼容问题
    sublime text3插件和快捷键
    CSS3高级
    盒子模型
    css3动画
    FreeBSD port安装 *** [checksum] Error code 1
    vs 2008设置vs6.0字体
    android 无法读取lua文件问题2
    u盘安装centos6 x8664
    cocos2dx lua 路径问题的一个bug (网络整理)
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14490573.html
Copyright © 2020-2023  润新知