您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

郑州轻工业学院oj问题解答(C语言)1074:一百块钱买一百只鸡的穷举法(一) [免费源码]

  • 时间:2022-09-07 01:44 编辑: 来源: 阅读:305
  • 扫一扫,手机访问
摘要:郑州轻工业学院oj问题解答(C语言)1074:一百块钱买一百只鸡的穷举法(一) [免费源码]
穷举法是解决数学问题的一种通用方法。通常可以用来解决很多问题,得到正确答案,但问题是过程会非常繁琐。 在程序中,由于循环的存在,穷举法没有那么复杂,非常适合解题。 1074:一百块钱买一百只鸡描述了一百块钱买一百只鸡的问题:一只公鸡五便士,一只母鸡三便士,三只鸡一便士。用100便士买100只鸡。你买多少只公鸡、母鸡和小鸡?这个程序需要解决的问题是:给定一个正整数n,用n便士买n只鸡,问公鸡、母鸡、小鸡各买多少只?输入正整数n (n < =100) 如果输出有解,物种组合占一行,包括公鸡、母鸡、小鸡的数量,用正整数表示,每个数据占四列。 公鸡和小鸡的数量大于等于0,按照公鸡的数量从小到大输出,按照母鸡的数量从小到大输出相同数量的公鸡,以此类推。 如果无解,输出“无答案” 题目分析:1。如果买全部公鸡,最多买n/5只公鸡,定义变量I。 2.如果买全母鸡,最多买n/3只母鸡,定义变量j。 3.如果所有的鸡都买了,鸡必须是3的倍数。定义变量s。 参考代码:# include < stdio.h & gtint main(){ int n;int find = 0;scanf("%d ",& ampn);for(int I = 0;我& lt= n/5;i++){ for(int j = 0;j & lt= n/3;j++){ int s = n-I-j;if(15 * I+9 * j+s = = n * 3){ find = 1;printf("%4d%4d%4d\n ",I,j,s);} } } if(find==0){ printf("无答案");}返回0;}代码分析:根据题目的要求,判断是否有解,所以我们先定义一个查找保存能否有解的案例。 最后,方便判断,输出无答案。 题目的要求是组合,根据题目的分析,显然要判断各种鸡都买了,剩下的鸡都没买的情况,所以这里可以按循环依次判断。 第一个周期从买0只公鸡开始,然后算到第二个周期,还是买0只母鸡。最后我们判断是否存在,(5× i)+(3× j)+(1/3× s) = = n的情况。 也就是说,公鸡、母鸡、小鸡花的钱刚好够100元。 这里用循环来遍历在公鸡和母鸡的每一次买入情况下,是否可以买入鸡来赚100元。 如果你能理解这个逻辑,代码就不难理解了。 错误原因:1:整数除以整数还是整数。 所以s/3可能会给出不正确的答案。 应该用浮点数2:如果我们不想用浮点数计算,在判断价格是否能正好100的时候,可以把整个公式× 3,这样判断起来更方便。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部