题目描述:

一只公鸡值5元,一只母鸡值3元,而1元可买3只小鸡。现有100元钱,把钱正好花完,正好买到100只鸡。请问可买公鸡、母鸡、小鸡各几只?

题目分析:

这是一道经典的多重循环题目。我们可以用方程思想:设公鸡数为a,设母鸡数为b,设小鸡数为c,可得:a+b+c=100而且5*a+3*b+c/3=100,由此可通过多重循环结题。

代码实现:

#include<bits/stdc++.h>
using namespace std;
int main(){for(int a=0;a<=100/5;a++)for(int b=0;b<=100/3;b++)for(int c=0;c<100*3;c++)if(a+b+c==100&&a*5+b*3+c/3==100&&c%3==0)cout<<a<<' '<<b<<' '<<c<<endl;return 0;
} 

上述代码是可行的,但因为程序的循环次数较多,所以程序大约需要0.6秒左右才能跑出来,在评测系统中 很多小白就会出现“时间超限”这一现象,所以要怎样优化代码呢?

实际上,有一个循环式可以被舍去的。

各位可以参考一下以下代码,

代码实现2:

#include<bits/stdc++.h>
using namespace std;
int main(){for(int a=0;a<=100/5;a++)for(int b=0;b<=100/3;b++){int c=100-a-b;if(a+b+c==100&&a*5+b*3+c/3==100&&c%3==0)cout<<a<<' '<<b<<' '<<c<<endl;}    return 0;
} 

如下代码 相较于前一个代码实现,舍去了一个循环,相对速度也有所提升。

当然,假如你的电脑足够慢,还是需要较长的时间来完成程序,我再教你一个方法,

代码实现3(极度不建议使用):

#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"0 25 75\n4 18 78\n8 11 81\n12 4 84";return 0;
} 

你学废了吗? ︿( ̄︶ ̄)︿

百钱百鸡(详解版)——多重循环相关推荐

  1. Python基础-“百钱百鸡”入门逻辑题(刚开始的建议藏起来)

    一:前言 最近这段时间辣条哥发现学Python的人是越来越多,但是适不适合学Python又有几个人知道呢?说到底编程其实很多时候需要的是较强的思维逻辑能力,如果基础的思维逻辑能力不行的话那辣条就得好好 ...

  2. 100个python算法超详细讲解:百钱百鸡

    1.问题描述 中国古代数学家张丘建在他的<算经>中提出了一个著名的"百钱 百鸡问题":一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现 在要用百钱买百鸡,请问公鸡.母 ...

  3. java while求百钱买百鸡问题_java - 百钱百鸡小算法

    百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买白鸡,问 ...

  4. 7-152 百钱百鸡

    分数 10 全屏浏览题目 切换布局 作者 usx程序设计类课程组 单位 绍兴文理学院 百鸡问题:"今有鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一.凡百钱买鸡百只,问鸡翁母雏各几何.&qu ...

  5. PTA 7-152 百钱百鸡

    PTA 7-152 百钱百鸡 分数 10 作者 usx程序设计类课程组 单位 绍兴文理学院 百鸡问题:"今有鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一.凡百钱买鸡百只,问鸡翁母雏各几何. ...

  6. java - 百钱百鸡小算法

    传送门: 袁咩咩的小小博客 百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡 ...

  7. 计算机求百钱买百鸡采用的算法,多种解法求百钱百鸡问题.doc

    多种解法求百钱百鸡问题 学 号: 0121210680225 <算法设计与分析B> 大 作 业 题 目多种解法求百钱百鸡问题学 院计算机科学与技术学院专 业软件工程班 级Sy1201姓 名 ...

  8. 算法思想(枚举)——百钱百鸡+生理周期+完美立方+熄灯问题+讨厌的青蛙

    枚举的思想其实时日常生活中提取的一种智慧 ^------^ 枚举的思想在生活中有着非常广泛的应用        在对事物进行归纳推理时,会逐一考察某个事物的所有可能的情况,并且逐一进行检验,这就是枚举 ...

  9. 百钱百鸡问题(C++枚举法)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 中国古代数学家张丘建在他的<算经>中提出了著名的"百钱百鸡问题":鸡翁一,值钱五:鸡母一,值钱 ...

  10. 百钱百鸡问题(C++)

    定义一个类,求解百钱百鸡问题.我国古代数学家张丘建在<算经>一书中提出的数学问题:鸡翁一只钱五,鸡母一只钱三,鸡雏三只钱一.百钱买百鸡,问鸡翁.鸡母.鸡雏各几何?类中包括,鸡翁.鸡母.鸡雏 ...

最新文章

  1. 二级域名用asp.net 2.0的实现方案
  2. 360浏览器打不开qq空间_网页突然打不开其他软件却能上网?怎么解决?
  3. Python学习汇总,做数据采集的一些小技巧,收获满满
  4. 用字典存储学生成绩查询_C语言 | 用结构体变量存储学生信息
  5. Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
  6. Windows Thrift安装及HelloWorld
  7. join()方法与CSV格式文件
  8. 什么是项目管理43210法?
  9. 用 MeGUI 压制 BDrip
  10. Linux网络流量监控
  11. python三引号作用是什么_python中三引号的作用(逗号的两点总结)
  12. MySQL创建触发器的时候报1419错误( 1419 - You do not have the SUPER privilege and binary logging is enabled )
  13. oracle+omf+格式,Oracle OMF管理数据文件
  14. Java好学吗,我们怎么才能学好Java
  15. sufficient statistics
  16. 2W销量Steam大神,光临联盟微信群,近距离分享成功之路!(聊天实录)
  17. 按QQ查询QQ群数据库的方法
  18. 网站推荐及个性化桌面软件推荐
  19. leetcode系列-27. 移除元素
  20. 阿里云对象存储OSS用作网站静态文件加速的优势

热门文章

  1. 如何写系统需求分析书
  2. 浅析计算机主板故障,浅析计算机主板故障及维修
  3. shell 脚本与常用的bash命令
  4. C++中的char,char*,char[]
  5. R报错:caret包与InformationValue包在绘制confusionmatrix时遇到的问题
  6. MySQL中定时任务的使用
  7. 【微信小程序】微信小程序开发学习记录
  8. JQuery中常用的 属性选择器
  9. jquery多属性选择器
  10. C#设计程序购买商品总金额