前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言实例之求解鸡兔同笼

C语言实例之求解鸡兔同笼

作者头像
编程小顺
发布2021-10-13 10:38:07
2.4K0
发布2021-10-13 10:38:07
举报
文章被收录于专栏:知识小木屋知识小木屋

题目:

已知笼子里鸡、兔共有m只,鸡兔共有n只脚,请你用C语言设计程序求鸡、兔各有多少只。

核心思路

假设全都是兔,则有鸡数=(4×鸡兔总数-实际脚数)÷(4-2);

假设全都是鸡,则有兔数=(实际脚数-2×鸡兔总数)÷(4-2);

需要注意:鸡的只数兔的只数只可能是大于等于0

源代码如下:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int m, n;
    printf("请输入鸡兔共多少只:\n");
    scanf("%d", &m);
    printf("请输入鸡兔共多少只脚:\n");
    scanf("%d", &n);
    if ((n - 2 * m) >= 0 && (n - 2 * m) % 2 == 0 && (4 * m - n) >= 0 && (4 * m - n) % 2 == 0) {
        printf("鸡有%d只,兔有%d只", (4 * m - n) / 2, (n - 2 * m) / 2);
    } else {
        printf("您的输入有误!");
    }
    return 0;
}

编译运行上面的代码:

代码语言:javascript
复制
请输入鸡兔共多少只:
15
请输入鸡兔共多少只脚:
36
鸡有12只,兔有3只

拓展:求解百钱百鸡

题目:

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?翻译后的意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?请你用C语言设计程序求公鸡、母鸡、小鸡各多少只。

核心思路

设公鸡 x 只,母鸡 y 只,小鸡 z 只,得到以下方程式组:

代码语言:javascript
复制
    5x + 3y + 1 / 3z = 100
    x + y + z = 100
    0 <= x <= 100
    0 <= y <= 100
    0 <= z <= 100

源代码如下:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int i, j, k;
    for (i = 0; i <= 100; i++) {
        for (j = 0; j <= 100; j++) {
            for (k = 0; k <= 100; k++) {
                if (5 * i + 3 * j + k / 3 == 100 && k % 3 == 0 && i + j + k == 100) {
                    printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n", i, j, k);
                }
            }
        }
    }
    return 0;
}

编译运行上面的代码,将会输出以下结果:

代码语言:javascript
复制
公鸡  0 只,母鸡 25 只,小鸡 75 只
公鸡  4 只,母鸡 18 只,小鸡 78 只
公鸡  8 只,母鸡 11 只,小鸡 81 只
公鸡 12 只,母鸡  4 只,小鸡 84 只
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知识小木屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档