package test;
/**
* @author QuarterLifeForJava
*/
public class Test {
public static void main(String[] args) {
int x[] = {8,8,3,3};
int y[] = new int[x.length];
for(int a=0;a<4;a++){
for(int b=0;b<4;b++){
for(int c=0;c<4;c++){
for(int d=0;d<4;d++){
if(a!=b&&b!=c&&c!=d&&d!=a&&a!=c&&b!=d){
y[0] = x[a];
y[1] = x[b];
y[2] = x[c];
y[3] = x[d];
for(int i=0;i<4;i++){
circle(y,i);
}
}
}
}
}
}
}
//边界判断
public static boolean boundaryJudgment(double result){
if(result>=23.99999999999999&&result<=24.00000000000001){
return true;
}else{
return false;
}
}
//加
public static double jia(double x,double y){
return x+y;
}
//减
public static double jian(double x,double y){
return x-y;
}
//乘
public static double cheng(double x,double y){
return x*y;
}
//除
public static double chu(double x,double y){
return x/y;
}
//循环选择
public static double change(int num,double x,double y){
switch(num){
case 0:
return jia(x,y);
case 1:
return jian(x,y);
case 2:
return cheng(x,y);
case 3:
return chu(x,y);
}
return 0;
}
//循环计算
public static void circle(int x[],int choice){
double mid = 0;
double y = 0;
double z = 0;
for(int i=0;i<4;i++){
mid = change(i,x[0],x[1]);
z = mid;
for(int j=0;j<4;j++){
mid = z;
switch(choice){
case 0:
mid = change(j,mid,x[2]);
for(int k=0;k<4;k++){
y = mid;
mid = change(k,mid,x[3]);
if(boundaryJudgment(mid)){
System.out.println("可算24点");//想输出结果,请自己写个方法,这里略了
System.exit(0);
}else{
mid = y;
}
}
break;
case 1:
mid = change(j,mid,x[2]);
for(int k=0;k<4;k++){
y = mid;
mid = change(k,x[3],mid);
if(boundaryJudgment(mid)){
System.out.println("可算24点");//想输出结果,请自己写个方法,这里略了
System.exit(0);
}else{
mid = y;
}
}
break;
case 2:
mid = change(j,x[2],mid);
for(int k=0;k<4;k++){
y = mid;
mid = change(k,mid,x[3]);
if(boundaryJudgment(mid)){
System.out.println("可算24点");//想输出结果,请自己写个方法,这里略了
System.exit(0);
}else{
mid = y;
}
}
break;
case 3:
mid = change(j,x[2],mid);
for(int k=0;k<4;k++){
y = mid;
mid = change(k,x[3],mid);
if(boundaryJudgment(mid)){
System.out.println("可算24点");//想输出结果,请自己写个方法,这里略了
System.exit(0);
}else{
mid = y;
}
}
break;
}
}
}
}
}
分享到:
相关推荐
总的来说,Java国密算法实现涉及了椭圆曲线加密和哈希函数两大核心概念,通过合理运用这些算法,可以构建安全可靠的加密通信和数据保护系统。在具体编程时,需要对算法原理有深入理解,并熟练掌握相关库的使用,以...
基于令牌桶算法的Java限流实现 在软件系统中,限流机制是一个重要的环节,它可以防止系统资源被过度使用,避免系统崩溃或性能下降。常见的限流算法有多种,如漏桶算法、令牌桶算法、滑动窗口算法等。在Java中,我们...
`apriori.java`是Apriori算法的Java实现文件。这个文件可能包含了以下关键部分: 1. 数据预处理:从Excel文件中读取数据,转换成项集(如商品列表)。 2. 支持度计算:定义一个函数来计算项集的支持度,这是评估项集...
在Java中实现FP树算法,我们可以按照以下步骤进行: 1. **数据预处理**:首先,我们需要对原始数据进行预处理,将交易数据转换为事务ID和项ID的形式,即每条记录表示一个交易,其中包含交易中出现的所有项。 2. **...
【Java MRP算法实现】是基于Java编程语言构建的一个现代物料需求计划(Material Requirements Planning,简称MRP)系统。MRP系统是企业资源规划(ERP)的重要组成部分,它主要用于优化企业的生产计划,确保在正确的...
现在我们将深入探讨Nginx权重选择算法的原理以及如何在Java中实现这一算法。 **Nginx权重选择算法** 1. **基本原理**: Nginx的WRR算法主要基于权重值来决定将请求转发到哪个后端服务器。权重值越大,服务器被...
LZ4压缩算法java实现 LZ4压缩算法是lossless压缩算法,提供了高达500 MB/s每个核心的压缩速度,且可以根据多核CPU进行扩展。它具有极快的解压速度,速度可达多GB/s每个核心,通常达到多核系统中的RAM速度限制。速度...
支持向量机(Support Vector Machine,简称SVM)是一种广泛应用于分类和回归分析的机器学习算法。...总的来说,Encog为Java开发者提供了一个强大且易用的SVM实现工具,使得在Java环境中应用SVM算法变得简单而高效。
KMP算法是通过分析子串,预先计算每个位置发生不匹配的时候,所需GOTO的下一个比较位置,整理出来一个next数组,然后在上面的算法中使用。
Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据进行聚类分析。该算法的主要思想是将相似的数据点聚类到一起,形成不同的簇。Java语言是实现k-means聚类算法的不二之选。 ...
在Java中实现随机森林算法通常需要使用机器学习库,比如Weka或者Apache Spark的MLlib。下面我将展示一个使用Weka库的简单示例,来说明如何使用随机森林算法对数据进行分类。 首先,你需要在项目中引入Weka库。如果...
以上就是关于“AES算法Java实现”的核心知识点,包括AES的基本原理、Java中的实现方式、加密过程、不同模式的选择以及安全注意事项。这些内容可以帮助你构建一个基本的AES加密解密工具,并理解其背后的机制。
在实际应用中,这个Java实现可能会提供接口供用户输入数据点和目标点,然后调用内部的克里金插值算法进行计算。为了提高效率和灵活性,代码可能还支持不同类型的克里金方法(如简单克里金、普通克里金、泛克里金等)...
该JAVA抽奖算法通过合理的概率缩放、累积概率计算以及随机数生成与比较等步骤,实现了基于不同概率分布的灵活抽奖功能。对于实际应用场景来说,这种算法不仅简单高效,而且易于扩展,能够满足多种不同的需求。
BP算法的JAVA实现,BP神经网络的数学原理及其算法实现,实验使用IRIS数据集,BP神经网络,BP即Back Propagation的缩写,也就是反向传播的意思,顾名思义,将什么反向传播?文中将会解答。不仅如此,关于隐层的含义...
【数值算法——JAVA实现的插值算法.示例】
`Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...
在Java中实现Dijkstra算法,主要涉及以下几个步骤: 1. **初始化**:首先,创建一个图的表示,可以使用邻接矩阵或邻接表来存储节点之间的连接和权重。同时,为每个节点分配一个初始距离值,源节点设为0,其他节点设...
在Java中实现LRU算法,通常会使用数据结构如HashMap或LinkedHashMap来存储页面及其访问信息。HashMap提供快速的查找操作,而LinkedHashMap则同时保持了插入顺序,这对于实现LRU至关重要,因为我们需要快速找到最近...
经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法 C语言和Java实现经典算法...