同事给我出了一道算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
现在在想怎么才可以让结果没有重复的呢?
分享到:
相关推荐
微信小程序实现的简易计算器,可以实现简单的运算(包括:加减乘除、平方根等) 微信小程序实现的简易计算器,可以实现简单的运算(包括:加减乘除、平方根等) 微信小程序实现的简易计算器,可以实现简单的运算...
一个简单的加减乘除的web页面,课堂上老师让做的大作业,分享一下。
计算器 VC 加减乘除 完美版,绝对是标准的,因为我就是按照老师要求写的。
对复数类进行加减乘除的计算,打印程序另外写出,在主函数中调用,除法和乘法有别于一般的算术运算,需要按照特定计算规则。
通过单片机编程,实现计算机的加减乘除功能。可以进行两位数乘法,除法可进行四位数除以两位数。加减不限。
加减乘除法练习题生成软件是一款十分不错的软件,加减乘除法练习题生成软件官方版可以生成加法,减法,乘法,除法,能够有效的提高小学生的加减乘除算术能力,使用起来简单方便,欢迎下载 软件介绍 加减乘除法...
该工程是用VC6.0的MFC开发的对话框程序,运行后,点击工具栏上的“计算器”菜单,就可以进行加减乘除运算了。
用c++编写一个程序,可以简单的计算加减乘除,不包含括号
一个关于VC++的小程序,算法程序都有,希望可以帮到大家
一个简单的类似计算器的小程序,支持整形的加减乘除计算,并可以回零重复使用
加减乘除24,java的GUI界面,输入的数字在1-13的范围内,能自动计算所有运算的和为24的结果,产生的结果中已去除了冗余的结果,并统计产生结果的个数,界面美观,希望大家喜欢。
仿照windows自带的计算机用C#语言做一个能简单加减乘除的计算器
编写一个简单的计算器程序,要求有菜单,能进行简单的加减乘除运算。要求: 1、完成计算器的界面设计; 2、运用事件处理机制实现计算器的各个功能
可以实现数据的加减乘除,简单方便对于学习不太好的最合适
一个基于VC++编写的简易计算器,可以进行加减乘除计算 程序比较简单
之前我们为大家分享过几款功能和样式都比较不错的jQuery/...今天要介绍的这款jQuery计算器功能相对比较强大,除了可以实现常用的加减乘除以外,还支持各种存储功能,比如存储、取存、累存、积存,使用起来将更加方便。
本程序对于初学C语言的同学很有帮助,#include "iostream" using namespace std; int main( void ) { double numbera, numberb, result; char operate; try { //输入操作数和运算符 cout请输入第一个操作...
编写一个应用程序,设计一个标题为“计算”的窗口,设计四个按钮,分别命名为“加”、“减”、“积”、“除”,设计三个文本框,单击相应的按钮,将两个文本框的数字做运算,在第三个文本框中显示结果。要求能够处理...
利用Activity点击事件监听的开发技术,实现了一个简单四则计算器,其功能模块包括加减乘除用四个按钮控制等。
通过函数封装加减乘除运算,实现一个简易的计算器。 实现背景 1、print函数中,多行文字 ‘’’ ‘’’ 的使用 2、input输入内容为字符串,input()内文字可做提示词 3、为方便使用,我们经常将常用的...