C语言解决百钱买百鸡问题

栏目: C · 发布时间: 4年前

内容简介:我国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?C语言实现过程:(1) 使用 for 语句对 3 种鸡的数先在事先确定好的范围内进行穷举并判断,对满足条件的 3 种鸡的数量按指定格式输出,否则进行下次循环。

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

C语言实现过程:

第一种

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

(2) 程序代码如下:

#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\n",cock,hen,chick);

    return 0;
}

运行结果:

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

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

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

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

C语言解决百钱买百鸡问题

技术要点:

根据题意设公鸡、母鸡和雏鸡分别为 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 的倍数。

二、抽象为数学模型

设鸡翁 鸡母 鸡雏数量分别为x y z,则:

x+y+y=100

5x+3y+(1/3)z=100

解答示范

采用穷举法解决:

>
#include<stdio.h>

int main(){
    int x, y, z;
    for(x=0; x<100; x++){
        for(y=0; y<100; y++){
            for(z=0; z<100; z++){
                if(x+y+z==100 && 5*x+3*y+z/3==100){
                    printf("鸡翁%d只,鸡母%d只,鸡稚%d只。\n", x, y, z);
                }
            }
        }
    }
    return 0; 
}

运行结果

linuxidc@linuxidc:~/linuxidc.com$ ./linuxidc.com

鸡翁0只,鸡母25只,鸡稚75只。

鸡翁3只,鸡母20只,鸡稚77只。

鸡翁4只,鸡母18只,鸡稚78只。

鸡翁7只,鸡母13只,鸡稚80只。

鸡翁8只,鸡母11只,鸡稚81只。

鸡翁11只,鸡母6只,鸡稚83只。

鸡翁12只,鸡母4只,鸡稚84只。

C语言解决百钱买百鸡问题

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158754.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微机原理与接口技术

微机原理与接口技术

李文英、李勤、刘星、宋蕴新 / 清华大学出版社 / 2001-9 / 26.00元

《高等院校计算机应用技术规划教材•应用型教材系列•微机原理与接口技术》是“高职高专计算机系列教材”之一。全书包括微机原理、汇编语言、接口技术三部分内容。微机原理部分讲述了80x86的内部结构及工作原理、半导体存储器及其系统、微型机总线结构等。汇编语言部分讲述了指令系统、编程技巧。接口技术部分讲述了中断系统、中断控制器、并行接口、串行接口、DMA控制器、定时器,以及A/D、D/A转换器等常用芯片的硬......一起来看看 《微机原理与接口技术》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具