当前位置: 首页 > article >正文

百鸡问题c++

【问题描述】 

百鸡问题是出自我国古代《张丘建算经》的著名数学问题。大意为:

只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;现在有 100 元,买了 100 只鸡,

共有多少种方案?

小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果

每只公鸡x元,每只母鸡y元,每z只小鸡1元;现在有n元,买了m只鸡,

共有多少种方案?

【输入描述】

输入一行,包含五个整数,分别为问题描述中的xyznm。约定1≤x,

y,z≤101≤n,m≤1000

【输出描述】

输出一行,包含一个整数C,表示有C种方案。

样例输入1

5 3 3 100 100

样例输出1

4
【样例解释1

这就是问题描述中的百鸡问题4种方案分别为:公鸡0只、母鸡25只、

小鸡75只;公鸡4只、母鸡18只、小鸡78只;公鸡8只、母鸡11只、小鸡

81只;公鸡12只、母鸡4只、小鸡84只。

样例输入2

1 1 1 100 100

样例输出2

5151

【题目大意】

百钱买百鸡问题,输入公鸡母鸡和小鸡的价格,以及现有的钱和需要购买的鸡的

数量,计算输出方案数。

【考纲知识点】基本运算(一级),循环结构(二级)

【解题思路】使用循环嵌套枚举公鸡和母鸡的数量,根据总价计算要求表示出小鸡数量,通过判断每种方案鸡的总数是否满足要求,从而统计出正确的方案数;

【参考程序】

#include <iostream>
using namespace std;
int main() {
    int x, y, z, n, m, cnt = 0;
    //x,y,z 分别为公鸡母鸡的价格以及小鸡的价格与数量关系
    cin >> x >> y >> z >> n >> m;
    //枚举公鸡数量,公鸡数量小于等于总数量 m,公鸡价格 gj*x 小于等于总价格 n
    for (int gj = 0; gj * x <= n && gj <= m; gj++)
        //枚举母鸡数量,母鸡+公鸡的数量需要小于等于总数量 m,母鸡+公鸡的价格mj*y+gj*x 需要小于等于总价格 n
        for (int mj = 0; mj * y + gj * x <= n && mj + gj <= m; mj++) {
            int xj = (n - gj * x - mj * y) * z; //计算出小鸡的数量
                if (gj + mj + xj == m) //判断三种鸡的总数量是否等于 m
                    cnt++; //若相等则方案数+1
            }
    cout << cnt << endl; //最终输出正确的方案数
    return 0;
}

http://www.kler.cn/news/360263.html

相关文章:

  • 限时设计ui
  • 在终端怎么升级Python
  • [已解决] pycharm添加本地conda虚拟环境 + 配置解释器 - pycharm找不到conda可执行文件
  • 在win系统上做生信数据分析如何快速检查和填写正确的文件路径
  • 深入探索Python集合(Set)的高效应用:数据处理、性能优化与实际案例分析
  • 银行卡归属地接口-在线银行卡归属地-银行卡归属地API
  • 【深度解析】WRF-LES与PALM微尺度气象大涡模拟
  • tkinter Listbox 列表框实现多列对齐排列并绑定下拉框和滚动条
  • Java:玩家打怪小游戏
  • 【GO实战课】第六讲:电子商务网站(6):支付和订单处理
  • 工厂设计模式(Factory Pattern)
  • vue与u3d互调
  • 《Linux运维》之解决“Failed to start LSB: Bring up/down networking.“问题的方法
  • R语言医学数据分析实践-糖尿病风险预测实战
  • 大数据之hive(分布式SQL计算工具)加安装部署
  • 滚雪球学Redis[7.0讲]:Redis在Web应用中的会话管理:实现、优化与安全性!
  • Vue使用OnlyOffice预览文档方案
  • uniapp展示本地swf格式文件,实现交互
  • WPF开发之页面切换
  • 【氮化镓】低温对p-GaN HEMT迁移率、阈值电压和亚阈值摆幅的影响