今天23点多的时候准备睡觉了,谁知无聊的时候看到这样一道题(如题),开始觉得还挺简单的,谁知道1点多了还没做出来,希望大神出来帮帮下面这是我写的(不能优先计算,只能从头算到尾)package Test;public class test { public static void main(String[] args) {
for(int x1=1;x1<4;x1++){
for(int x2=1;x2<4;x2++){
for(int x3=1;x3<4;x3++){
for(int x4=1;x4<4;x4++){
for(int x5=1;x5<4;x5++){
for(int x6=1;x6<4;x6++){
s(x1,x2,x3,x4,x5,x6);
}
}
}
}
}
}
}
public static void s(int x1,int x2,int x3,int x4,int x5,int x6){
double sum = 8;
sum = s1(sum, x1);
sum = s1(sum, x2);
sum = s1(sum, x3);
sum = s1(sum, x4);
sum = s1(sum, x5);
sum = s1(sum, x6);
if (sum==200) {
System.out.println(8+" "+y(x1)+" "+8+" "+y(x2)+" "+8+" "+y(x3)+" "+8+" "+y(x4)+" "+8+" "+y(x5)+" "+8+" "+y(x6)+" "+8);
}
}
public static double s1(double sum,int x){
switch (x) {
case 1:
sum +=8;
break;
case 2:
sum -=8;
break;
case 3:
sum *=8;
break;
case 4:
sum /=8;
break;
}
return sum;
}
public static String y(int i){
switch (i) {
case 1:
return "+";
//break;
case 2:
return "-";
//break;
case 3:
return "*";
//break;
case 4:
return "/";
//break;
}
return null;
}
}运行结果:
8 + 8 + 8 + 8 - 8 * 8 + 8
8 + 8 + 8 - 8 + 8 * 8 + 8
8 + 8 + 8 * 8 + 8 + 8 - 8
8 + 8 + 8 * 8 + 8 - 8 + 8
8 + 8 + 8 * 8 - 8 + 8 + 8
8 + 8 - 8 + 8 + 8 * 8 + 8
8 - 8 + 8 + 8 + 8 * 8 + 8
for(int x1=1;x1<4;x1++){
for(int x2=1;x2<4;x2++){
for(int x3=1;x3<4;x3++){
for(int x4=1;x4<4;x4++){
for(int x5=1;x5<4;x5++){
for(int x6=1;x6<4;x6++){
s(x1,x2,x3,x4,x5,x6);
}
}
}
}
}
}
}
public static void s(int x1,int x2,int x3,int x4,int x5,int x6){
double sum = 8;
sum = s1(sum, x1);
sum = s1(sum, x2);
sum = s1(sum, x3);
sum = s1(sum, x4);
sum = s1(sum, x5);
sum = s1(sum, x6);
if (sum==200) {
System.out.println(8+" "+y(x1)+" "+8+" "+y(x2)+" "+8+" "+y(x3)+" "+8+" "+y(x4)+" "+8+" "+y(x5)+" "+8+" "+y(x6)+" "+8);
}
}
public static double s1(double sum,int x){
switch (x) {
case 1:
sum +=8;
break;
case 2:
sum -=8;
break;
case 3:
sum *=8;
break;
case 4:
sum /=8;
break;
}
return sum;
}
public static String y(int i){
switch (i) {
case 1:
return "+";
//break;
case 2:
return "-";
//break;
case 3:
return "*";
//break;
case 4:
return "/";
//break;
}
return null;
}
}运行结果:
8 + 8 + 8 + 8 - 8 * 8 + 8
8 + 8 + 8 - 8 + 8 * 8 + 8
8 + 8 + 8 * 8 + 8 + 8 - 8
8 + 8 + 8 * 8 + 8 - 8 + 8
8 + 8 + 8 * 8 - 8 + 8 + 8
8 + 8 - 8 + 8 + 8 * 8 + 8
8 - 8 + 8 + 8 + 8 * 8 + 8
解决方案 »
- 一个易语言也能轻松调用win32 API为什么java
- java命令行参数问题
- 经常在书上看到垃圾收集器的线程优先级比main主线程低,事实上好象不是。
- 开发工具的问题
- enum(switch)的问题!
- 在linux下怎么用System.loadLibrary?
- 请问这里有做软件界面图片设计的吗?就想图标ICO之类的图片!我们需要希望通过这里能找到专业做这个的,聘请也行.
- 为什么通过socket传送的文件有错误
- 【Java UDP网络编程死锁问题,在线等......】
- 请问各位谁知道JBuilder7的注册解密方法,我没有序列号,也没有解密文件
- 怎么在简单窗体添加JButton控件的单击事件,新手虚心请教
- 各位老师,jbutton能美化吗?
2个控制循环,一个算法次数的控制,一个是加减乘除的控制
循环中调用该循环,当算法次数==7的时候,属性sum=2000,这时判断是不是sum==0,是打印跳出循环,不是也跳出循环
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>弹出消息框</title>
<script type="text/javascript">
function show1(){
for(var x1=1;x1<=4;x1++){
for(var x2=1;x2<=4;x2++){
for(var x3=1;x3<=4;x3++){
for(var x4=1;x4<=4;x4++){
for(var x5=1;x5<=4;x5++){
for(var x6=1;x6<=4;x6++){
var str="8"+show(x1)+"8"+show(x2)+"8"+show(x3)+"8"+show(x4)+"8"+show(x5)+"8"+show(x6)+"8";
var sum = eval(str);
//总和等于多少
if(sum==200){
document.write(str+"="+eval(sum)+"<br />");
}
}
}
}
}
}
}
}
</script><script type="text/javascript">
function show(a){
switch (a) {
case 1:
return ("+");
//break;
case 2:
return ("-");
//break;
case 3:
return ("*");
//break;
case 4:
return ("/");
//break;
}
return null;
}
</script>
</head>
<body onload="show1()"></body>
</html>