同事给我出了一道算24的智力题,{5,5,5,1} 算24.最后没有算出来。
写了一个能得出答案的程序,不过,里面会有很多重复的答案。。
public class Suan24 {
public static void main(String args[]) {
float a[] = { 5, 5, 5, 1 };
pp(a, "");
}
/**
* 参数a为传入的数组,后面的sf为输出内容。
*/
public static void pp(float a[], String sf) {
int lev = a.length;
if (lev == 1) {
if (a[0] == 24) {
System.out.println(sf);
System.out.println("成功");
}
} else {
// 这两个for循环是随机取出两个值,为了后边的计算。
for (int i = 0; i < lev; i++) {
for (int j = 0; j < lev; j++) {
if (i == j) {
continue;
}
// 这个数组是为了存储没有计算过的数字
float[] aa = new float[lev - 1];
int tem = 0;
for (int z = 0; z < lev; z++) {
if (z == i || z == j) {
continue;
}
aa[tem] = a[z];
tem++;
}
// 这一步是将取出的计算的两个数字计算,将计算后的数字和前面没有计算的数字组到一起。
aa[tem] = a[i] + a[j];
// 这里是继续循环,数组的长度少了一位。
pp(aa, sf + a[i] + "+" + a[j] + "=" + aa[tem] + "-----");
// 和上面一样。
aa[tem] = a[i] * a[j];
pp(aa, sf + a[i] + "*" + a[j] + "=" + aa[tem] + "-----");
aa[tem] = a[i] - a[j];
pp(aa, sf + a[j] + "-" + a[i] + "=" + aa[tem] + "-----");
aa[tem] = a[i] / a[j];
pp(aa, sf + a[i] + "/" + a[j] + "=" + aa[tem] + "-----");
}
}
}
}
}
最后算出结果了。
1.0/5.0=0.2-----5.0-0.2=4.8-----4.8*5.0=24.0
现在在想怎么才可以让结果没有重复的呢?
分享到:
相关推荐
微信小程序实现的简易计算器,可以实现简单的运算(包括:加减乘除、平方根等) 微信小程序实现的简易计算器,可以实现简单的运算(包括:加减乘除、平方根等) 微信小程序实现的简易计算器,可以实现简单的运算...
总之,"加减乘除的Android程序"是一个很好的起点,可以帮助开发者学习如何创建Android应用,处理用户输入,进行简单的计算,并展示结果。这个过程涉及了Android的UI设计、事件监听、数据转换、异常处理等多个关键...
【VC加减乘除程序】是一个基于VC++开发的简单计算工具,主要功能涵盖了基本的数学运算,包括加法、减法、乘法和除法。这个程序是为初学者和爱好者设计的,旨在帮助他们理解和实践C++编程语言中的算法实现以及用户...
小学数学加减乘除出题工具是一款专为小学生设计的数学练习软件,旨在帮助孩子们巩固和提高他们的四则运算能力。这款工具具有多种题型和出题方式,以适应不同阶段的学习需求,同时具备打印和批卷功能,使得教学过程...
在本项目中,我们讨论的是一个使用VC++(Visual C++)编写的计算器程序,它实现了基本的数学运算,包括加法、减法、乘法和除法。这个计算器是根据教师的指导来编写的,因此可以被视为一个标准的实现。 在VC++环境下...
本资源“加减乘除四则运算汇编程序及源代码”提供了使用汇编语言实现基本数学运算的基础示例,包括加法、减法、乘法和除法。这些操作是计算机处理任何计算任务的基础,对于理解计算机底层工作原理至关重要。 1. **...
“加减乘除 算24点”是一种经典的数学游戏,玩家需要利用四则运算(加、减、乘、除)将随机给出的四个数字通过计算得到结果为24。这种游戏不仅可以锻炼人的快速反应能力和逻辑思维能力,还能够提高对数字和基本算术...
Java 二十四点程序是一款基于图形用户界面(GUI)的应用程序,设计用于解决经典的数学游戏——24点。这个游戏的目标是通过加、减、乘、除四种基本运算,使得四个给定的1到13之间的数字组合的结果恰好等于24。程序的...
在本篇文章中,我们将深入探讨如何使用易语言设计一个基础的加减乘除简单计算器。这个计算器能够接收用户输入,并执行基本的数学运算。 首先,我们要理解易语言的核心概念——“语句”和“程序模块”。在易语言中,...
在本文中,我们将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC6.0)的MFC(Microsoft Foundation Classes)库来实现一个简单的基于对话框的加减乘除计算器程序。MFC是一个C++类库,它为Windows应用程序开发...
对复数类进行加减乘除的计算,打印程序另外写出,在主函数中调用,除法和乘法有别于一般的算术运算,需要按照特定计算规则。
"微信小程序-加减乘除-demo" 是一个专门用于展示微信小程序开发基础和计算功能的应用实例,特别适合初学者理解和学习。 在这个“加减乘除”Demo中,开发者可能利用了微信小程序的基础组件和API,如`<view>`、`...
通过单片机编程,实现计算机的加减乘除功能。可以进行两位数乘法,除法可进行四位数除以两位数。加减不限。
用c++编写一个程序,可以简单的计算加减乘除,不包含括号
《小学生加减乘除》是一款专为小学生设计的学习软件,旨在帮助孩子们在数学学习的初期阶段,掌握基础的算术运算——加法、减法、乘法和除法。这款软件适应于Windows9X、ME、2K等操作系统,文件大小约为406KB,非常...
加减乘除法练习题生成软件是一款十分不错的软件,加减乘除法练习题生成软件官方版可以生成加法,减法,乘法,除法,能够有效的提高小学生的加减乘除算术能力,使用起来简单方便,欢迎下载 软件介绍 加减乘除法...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库在VC++6.0环境下设计一个简单的加减乘除计算器。MFC 是微软为Windows应用程序开发提供的一组C++类库,它简化了窗口、对话框、控件等的创建过程...
本篇文章将详细讲解如何使用Delphi编写一个基础的加减乘除计算器。 首先,理解Delphi的基本架构是必要的。Delphi的IDE包括一个可视化的组件面板,用户可以在上面拖放各种控件,如按钮、文本框和标签,来构建用户...
在提供的文件`威纶通_宏指令_浮点数加减乘除开方.emtp`中,你可以找到具体的宏指令实现示例,通过学习和实践这些示例,你可以熟练掌握在威纶通触摸屏上进行浮点数运算的方法。这不仅有助于理解宏指令的工作原理,还...
《小学加减乘除运算测试》是一个基于JavaScript开发的在线教育工具,主要针对小学生进行数学基础知识的练习,尤其是加减乘除的运算。这个应用程序旨在通过互动的方式帮助孩子们巩固数学运算技能,提升学习兴趣。 ...