作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

详细描述:

接口说明

原型:

int GetResult(vector &list)

输入参数:

输出参数(指针指向的内存区域保证有效):

list  鸡翁、鸡母、鸡雏组合的列表

返回值:

-1 失败

0 成功

输入描述:

输入任何一个整数,即可运行程序。

输出描述:

返回vector<list<int>>中的结果。

示例:

输入:

1

输出:

0 25 75
4 18 78
8 11 81
12 4 84

解题思路:

本题是个数学问题,一百钱买一百只鸡。假设鸡翁x只,鸡母y只,鸡雏(100-x-y)只,设5x+3y+(100-x-y)/3=100,可得到y=25-7x/4,鸡数为整数,所以x为4的倍数,从0开始最多到20,但是不可能到那么高的;令鸡翁为4n,鸡母就为25-7n,鸡雏就为75+3n,然后让n从0开始递增,最多到3,因为4的话鸡母数为负数。基于此逻辑,定义GetResult函数,用list存放鸡数量,用vector存放可能的结果;再按要求输出即可。

测试代码:

#include <iostream>
#include <vector>
#include <list>
using namespace std;int GetResult(vector<list<int>> &result)
{for(int i=0;i<=3;++i){list<int> temp;temp.push_back(4*i);       // 鸡翁temp.push_back(25-7*i);    // 鸡母temp.push_back(75+3*i);    // 鸡雏result.push_back(temp);}if(result.empty()){return -1;}else{return 0;}
}int main()
{int num;while(cin>>num){vector<list<int>> result;if(GetResult(result)==0){for(auto it=0;it<result.size();++it){while(!result[it].empty()){cout<<*(result[it].begin())<<" ";result[it].pop_front();}cout<<endl;}}result.clear();}return 0;
}

华为机试HJ72:百钱买百鸡问题相关推荐

  1. 华为机试:密码强度等级、百钱买百鸡问题

    1.密码强度等级 题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 ...

  2. Python 实现百钱买百鸡问题(试使用列表推导式解决该问题)

    问题描述 百钱买百鸡:1只公鸡5块钱,1只母鸡3块钱,3只小鸡1块钱,现在要用100块钱买100只鸡,问公鸡.母鸡.小鸡各多少只? 代码实现 方法一(使用列表推导式解决该问题) rresult=[pr ...

  3. C语言试题七十六之请编写函实现百钱买百鸡

    1. 题目 编写函数:中国古代数学家张丘建在他的<算经>中提出了一个著名的"百钱买百鸡问题",鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁.母.雏各 ...

  4. java百_Java_百钱买百鸡

    题目:公鸡3文钱,母鸡2文钱,3只小鸡1文钱,百钱买百鸡,求多少公鸡,母鸡,小鸡? public class Work6{ public static void main(String[] args) ...

  5. 枚举法C语言三个马驮东西,【MagO第三期】经典枚举算法题:百钱买百鸡

    原标题:[MagO第三期]经典枚举算法题:百钱买百鸡 01 历史故事 张邱建提出的百钱买百鸡问题: 山东临清的数学家--张邱建,约公元5世纪著名的大数学家.他将毕生的精力投入到算学研究之中,为数学的不 ...

  6. Python水仙花数,鸡兔同笼问题,百钱买百鸡问题,斐波那契数列,模拟发微信红包

    一.题目: 1.求50以内能被7整除,但不能同时被5整除的所有整数. 2.如果一个3位数的各位数字的立方和等于该数自身,则该数称为"水仙花数". 例如,153 = 13 + 53  ...

  7. 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...

    [程序题]编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n [单选题]患者男,67岁.确诊为原发性支气管肺癌,为行手术 ...

  8. 算法学习之百钱买百鸡

    百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好 ...

  9. python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?

    不同的编程语言,对于判断语句,循环语句等的写法是不一样的.但对于同一问题,我们只关心算法,于是就提出了伪代码,统一一下判断语句怎么写,循环语句怎么写,这样无论程序员学的是 C++,还是 JAVA,还是 ...

最新文章

  1. 从头编写 asp.net core 2.0 web api 基础框架 (2)
  2. python canny检测_【数字图像分析】基于Python实现 Canny Edge Detection(Canny 边缘检测算法)...
  3. RestTemplate实践
  4. CentOS8 模块化仓库
  5. 达内2018年最新前端
  6. JavaScript权威设计--JavaScript词法结构(简要学习笔记二)
  7. 【免费毕设】IT产品网上物流管理信息系统的设计与实现(源代码+lunwen)
  8. Win10电脑如何找出隐藏的文件
  9. 小米蓝牙驱动_小米降噪项圈蓝牙耳机:随时随地享受奢侈静谧空间
  10. winform html5 ui,C# WinForm UI 设计方法
  11. 14家互联网公司裁员(1-2月裁员清单)
  12. linux下磁盘坏道修复,linux磁盘坏道修复记录
  13. 高校wifi认证登录
  14. 如何使用报表工具设置页眉与页脚
  15. 通过cookie登录以及使用账号密码登录
  16. 在openSUSE-Leap-15.2-DVD-x86_64下使用VLC媒体播放器
  17. 零知识证明:重要构造
  18. 【Sofice小司笔记】4 Redis,包含nosql,redis架构,8中数据类型,事务,持久化,配置文件详解,发布订阅,集群管理,缓存穿透和雪崩
  19. 在计算机领域中图形用户界面,带图形用户界面的计算机
  20. CSM5133SG/CSM5150SG替代BD433S2WEFJ-C/BD450S2WEFJ-C测试数据对比

热门文章

  1. “地球观光之旅”来到这座赛博朋克的城市了!
  2. 区块链100讲:Vitalik Buterin-以太坊Casper惩罚条件的最小化
  3. Java如何获得系统时间
  4. 【ora10,4】oracle后台进程介绍:
  5. Postgres invalid command \N数据恢复处理
  6. SQLServer性能优化之活用临时表
  7. EC地图编辑器(预览版)
  8. 5-6 AOF15-7 AOF25-8 AOF实验
  9. 7-4 组从配置-操作
  10. mysql 一个文章多个分类_jdbc mysql 插入一篇文章并与多个标签,一个分类建立关联关系。...