随机算法java实现(同生日问题以及扑克牌24数问题)
来源:互联网 发布:网络共享会议通知软件 编辑:程序博客网 时间:2024/06/05 21:18
1、30人的班级,求有人同一天生日的概率
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub // 概率模拟 int N = 10000 * 10;//试验次数 int n = 0;//重复次数 for (int i = 1; i < N; i++) { int a[] = new int[365];//代表365天 for (int j = 0; j < 30; j++) { int p = (int)( Math.random() * 365);//生成0-365之间任意数字并取整 if (a[p] == 1){ n++; break; } else a[p] = 1; } } System.out.println((double)n/N);//稳定在0.7... }}
2、一种扑克牌游戏:1-10,任取四个数,判断是否能用+-*/得到24,若能,输出计算公式
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); int a[]=new int [4]; for(int i=0;i<4;i++) a[i]=scanner.nextInt(); scanner.close(); int N=10000*100; for(int i=0;i<N;i++){//循环计算N次 int e[]=new int[8]; e=panduan(a); if(e[3]==24){ show(e); break; } } } public static int[] panduan(int a[]){//存储符号及四个数 int d[]=new int[2]; int e[]=new int[8]; int b[]=new int[4]; for(int i=0;i<4;i++){//随机打乱数组,但不完善,应该有点问题 int p=(int)Math.random()*4; if(i!=p){ int t=a[i]; a[i]=a[p]; a[p]=t; } } b=a; System.arraycopy(b, 0, e, 4, 4);//打乱后的四个数存入e[] d=jisuan(b[0],b[1]); e[0]=d[0]; d=jisuan(d[1], b[2]); e[1]=d[0]; d=jisuan(d[1], b[3]); e[2]=d[0]; e[3]=d[1]; return e; } public static int[] jisuan(int a,int b){//计算并记录三个符号 int c[]=new int[2]; int p=(int)(Math.random()*4); if(p==0){c[0]=p;c[1]=a+b;} if(p==1) {c[0]=p;c[1]=a-b;} if(p==2) {c[0]=p;c[1]=a*b;} if(p==3){c[0]=p;c[1]=a/b;} return c; } public static void show(int e[]){//输出 String s=Integer.toString(e[4]); for(int i=0;i<3;i++){ if(e[i]==0){s="("+s+"+"+e[i+5]+")";} if(e[i]==1) {s="("+s+"-"+e[i+5]+")";} if(e[i]==2) {s="("+s+"*"+e[i+5]+")";} if(e[i]==3){s="("+s+"/"+e[i+5]+")";} } System.out.println(s+"=24"); }}
0 0
- 随机算法java实现(同生日问题以及扑克牌24数问题)
- Shuffle随机扑克牌问题
- 生日问题(java)
- 算法:扑克牌的顺子问题
- 随机取数问题
- 随机取数问题
- 扑克牌问题
- 扑克牌问题
- TSP问题之随机算法 cpp实现
- 遗传算法Java实现以及TSP问题遗传算法求解
- 遗传算法Java实现以及TSP问题遗传算法求解
- 算法面试经常出现的问题——扑克牌中顺子和同花哪一个概率大?
- C 扑克牌随机发牌的算法实现与研究
- 扑克牌计算24点的Java算法实现
- 生日蜡烛问题及加法变乘法java实现
- Java算法--穷尽算法 鸡兔同笼问题
- 一个java写的贪心算法实现删数问题
- 扑克牌 洗牌算法 的java实现
- 3.lengthOfLongestSubstring
- Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
- mysql安装教程
- Ubuntu下su:authentication failure的解决办法
- php入坑系列
- 随机算法java实现(同生日问题以及扑克牌24数问题)
- webpack打包react项目
- 框架模式-MVVM
- UISwitch for Mac OS X
- Android View 深度分析
- 区间动规经典题——石子合并
- CVTE笔试题---字符串的全排列
- Eclipse-source folder文件夹和folder文件夹的区别
- Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)