百钱百鸡(详解版)——多重循环
题目描述:
一只公鸡值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;
}
你学废了吗? ︿( ̄︶ ̄)︿
百钱百鸡(详解版)——多重循环相关推荐
- Python基础-“百钱百鸡”入门逻辑题(刚开始的建议藏起来)
一:前言 最近这段时间辣条哥发现学Python的人是越来越多,但是适不适合学Python又有几个人知道呢?说到底编程其实很多时候需要的是较强的思维逻辑能力,如果基础的思维逻辑能力不行的话那辣条就得好好 ...
- 100个python算法超详细讲解:百钱百鸡
1.问题描述 中国古代数学家张丘建在他的<算经>中提出了一个著名的"百钱 百鸡问题":一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现 在要用百钱买百鸡,请问公鸡.母 ...
- java while求百钱买百鸡问题_java - 百钱百鸡小算法
百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买白鸡,问 ...
- 7-152 百钱百鸡
分数 10 全屏浏览题目 切换布局 作者 usx程序设计类课程组 单位 绍兴文理学院 百鸡问题:"今有鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一.凡百钱买鸡百只,问鸡翁母雏各几何.&qu ...
- PTA 7-152 百钱百鸡
PTA 7-152 百钱百鸡 分数 10 作者 usx程序设计类课程组 单位 绍兴文理学院 百鸡问题:"今有鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一.凡百钱买鸡百只,问鸡翁母雏各几何. ...
- java - 百钱百鸡小算法
传送门: 袁咩咩的小小博客 百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡 ...
- 计算机求百钱买百鸡采用的算法,多种解法求百钱百鸡问题.doc
多种解法求百钱百鸡问题 学 号: 0121210680225 <算法设计与分析B> 大 作 业 题 目多种解法求百钱百鸡问题学 院计算机科学与技术学院专 业软件工程班 级Sy1201姓 名 ...
- 算法思想(枚举)——百钱百鸡+生理周期+完美立方+熄灯问题+讨厌的青蛙
枚举的思想其实时日常生活中提取的一种智慧 ^------^ 枚举的思想在生活中有着非常广泛的应用 在对事物进行归纳推理时,会逐一考察某个事物的所有可能的情况,并且逐一进行检验,这就是枚举 ...
- 百钱百鸡问题(C++枚举法)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 中国古代数学家张丘建在他的<算经>中提出了著名的"百钱百鸡问题":鸡翁一,值钱五:鸡母一,值钱 ...
- 百钱百鸡问题(C++)
定义一个类,求解百钱百鸡问题.我国古代数学家张丘建在<算经>一书中提出的数学问题:鸡翁一只钱五,鸡母一只钱三,鸡雏三只钱一.百钱买百鸡,问鸡翁.鸡母.鸡雏各几何?类中包括,鸡翁.鸡母.鸡雏 ...
最新文章
- 二级域名用asp.net 2.0的实现方案
- 360浏览器打不开qq空间_网页突然打不开其他软件却能上网?怎么解决?
- Python学习汇总,做数据采集的一些小技巧,收获满满
- 用字典存储学生成绩查询_C语言 | 用结构体变量存储学生信息
- Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
- Windows Thrift安装及HelloWorld
- join()方法与CSV格式文件
- 什么是项目管理43210法?
- 用 MeGUI 压制 BDrip
- Linux网络流量监控
- python三引号作用是什么_python中三引号的作用(逗号的两点总结)
- MySQL创建触发器的时候报1419错误( 1419 - You do not have the SUPER privilege and binary logging is enabled )
- oracle+omf+格式,Oracle OMF管理数据文件
- Java好学吗,我们怎么才能学好Java
- sufficient statistics
- 2W销量Steam大神,光临联盟微信群,近距离分享成功之路!(聊天实录)
- 按QQ查询QQ群数据库的方法
- 网站推荐及个性化桌面软件推荐
- leetcode系列-27. 移除元素
- 阿里云对象存储OSS用作网站静态文件加速的优势