点击蓝字
关注我们
因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享
来源于网络,侵删
01
实例描述
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?运行结果如图所示。
百元买百鸡
02
代码实现
1.在Visual Studio 2017中选择“文件”→“新建”→ “项目”。
2.在跳出的界面选择“Windows 桌面”→“Windows桌面向导” → “输入项目名称(输入015)”→“选择保存项目路径,,单击“确定”按钮,创建一个工程步骤完成。
3.在创建的工程中,在“源文件”右键,选择“添加” →“新建项” →“C++文件(.cpp)”,在下面的位置输入文件名,单击“添加”,完成源文件的的添加。
4.在代码编辑界面中,开始编写本实例代码。
5.引用头文件,代码如下:
#include <stdio.h>
6.使用for语句对三种鸡的数量在事先确定好的范围内进行穷举并判断,对满足条件的将三种鸡的数量按指定格式输出,否则进行下次循环。
7.程序主要代码如下:
void 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);
}
03
技术要点
根据题意设公鸡、母鸡和雏鸡分别为cock、hen和chick,如果100元全买公鸡那么最多能买20只,所以cock的范围是大于等于0小于等于20,如果全买母鸡那么最多能买33只,所以hen的范围是大于等于零小于等于33,如果100元钱全买小鸡那么根据题意最多能买99只(根据题意小鸡的数量应小于100且是3的倍数)。在确定了各种鸡的范围后进行穷举并判断,判断的条件有以下3点:
○所买的三种鸡的钱数总和为100。
○ 所买的三种鸡的数量之和为100。
○所买的小鸡数必须是3的倍数。
如果你年满18周岁以上,又觉得学【C语言】太难?想尝试其他编程语言,那么我推荐你学Python,现有价值499元Python零基础课程限时免费领取,限10个名额!
▲扫描二维码-免费领取
推荐阅读
深入理解C语言中的malloc,malloc() 与 free() 原理图解
戳“阅读原文”我们一起进步