穷举算法(鸡兔同笼问题)
穷举算法的基本思想就是从所有可能的情况中搜索正确的答案,其执行步骤如下:
(1)对于一种可能的情况,计算其结果。
(2)判断结果是否满足要求,如果不满足则进行执行第(1)步来搜索下一个可能的情况:如果满足要求,则表示寻找到一个正确的答案。
在使用穷举算法时,需要明确问题的答案的范围,这样才可以在指定范围内搜索答案。指定范围之后,就可以使用循环语句和条件判断语句逐步验证候选答案的正确性,从而得到需要的正确答案。
案例:
如小时候遇到过的鸡兔同笼问题,鸡兔共有多少多少只,有多少多少脚,问鸡兔各多少只,没有学习到二元一次方程之前可能就会用到穷举法了,学习二元一次方程之后就变得so easy了。
代码如下:
package ca.caldemo;import java.util.Scanner;public class Qiongju {static int chichen =0,rabbit=0;public static String calcu(int head, int foot){for (int i = 0; i <=head; i++) {if(i*2+4*(head-i)==foot){chichen=i;rabbit=head-i;return "sucess";}}return "fail";}public static void main(String[] args) {System.out.println("请输入头:");Scanner scanner=new Scanner(System.in);int head=scanner.nextInt();System.out.println("请输入脚:");int foot=scanner.nextInt();String result=qiongju.calcu(head, foot);if("sucess".equals(result)){System.out.println("鸡"+chichen+"只,"+"兔"+rabbit+"只");}else{System.out.println("无解");}}}
运行结果如下:
穷举算法(鸡兔同笼问题)相关推荐
- 穷举算法——鸡兔同笼问题
#include<stdio.h> int qiongju(int head,int foot,int *chicken,int *rabbit) {int re,i,j;re=0;for ...
- C语言,期末复习之穷举法鸡兔同笼问题
题目:鸡兔同笼,共有98个头,386只脚,求鸡和兔分别有多少只? 代码如下: #include <stdio.h> int main(void) {int j, t;for (j = 0; ...
- python鸡兔同笼编程输出不存在合理答案_Python 解答鸡兔同笼和五家共井问题
时间:2018-09-18 概述:算法 鸡兔同笼 五家共井 先来看看Python是如何处理鸡兔同笼的问题,故事是这样:有若干只鸡和兔同在一个笼子里,从上面数,有35个头:从下面数,有94只脚.问笼中各 ...
- 穷举法求解鸡兔同笼问题
#include<iostream> #include<cstdlib> using namespace std;int main() {//int heads = 23, f ...
- Python解决鸡兔同笼问题(while穷举法)
解决鸡兔同笼问题常见有两种方法 第一种是列函数计算法,第二种是while进行穷举 这里展示一下个人感觉比较不常用的穷举法 所谓穷举法,就是利用while循环让计算机在获得你输入的数值之后进行不断的试错 ...
- 百钱百鸡php穷举法,PHP经典题:百钱百鸡问题(穷举算法)
PHP经典题:百钱百鸡问题(穷举算法) 百钱百鸡问题: 已知:公鸡5元一只,母鸡3元一只,小鸡一元3只 现用100元钱买了100只鸡,问:公鸡母鸡小鸡各几只? --请考虑尽可能高效的方法 思路: 如果 ...
- 利用计算机解决古代数学问题鸡兔同笼,古代趣味数学:鸡兔同笼的4种算法,你都能看懂吗?...
鸡兔同笼是中国古代的数学名题之一,出自<孙子算经>.书中是这样叙述的:"今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?"这四句话的意思是:有若干只鸡兔同在一个 ...
- 经典算法:鸡兔同笼问题
初学算法用java语言暴力破解了这个问题.有不足之处还望大佬指教 /* * 鸡兔同笼问题 已知头的数目为50 脚的数目为120 求鸡和兔子的数量 */ public static void sop() ...
- 算法-经点问题(鸡兔同笼,麦克劳林求pi,开灯问题)
1.鸡兔同笼问题 //已经鸡和兔的总数量为n 总腿数为m 输入 n,m 输出鸡和兔的数量 //分析:设鸡a只 兔b只 a+b=n 2a+4b=m a=(4n-m)/2 b=n-a //鸡兔同笼 voi ...
最新文章
- Linux在线求助 man page
- AfxOleInit()和::CoInitialize(NULL)区别
- Apache上部署Django
- 无线光通信-CDMA中闭环链路的功率控制误差
- Golang 规则引擎原理及实战
- 用python写简单爬虫,用Python写简单的爬虫
- asp.net mvc 用Redis实现分布式集群共享Session。
- django-中间件
- mysql何时会走索引
- mac terminal update management pack
- 单片机r6/r7c语言怎么用,关于单片机C51中c语言函数(-nop-())?
- EF实体部分更新的问题
- AndroidStudio常用字体
- zabbix监控系统--详细安装教程
- 《从0到1:CTFer成长之路》SQL注入-1
- win7系统怎样搭建电影服务器,win7系统免费看电影的操作方法
- QT进行Word文档读写
- python爬虫图片工具安卓版下载_python爬虫之图片下载APP1.0
- java面试(3)SQL优化
- 说话人识别模型finetune