早教吧作业答案频道 -->其他-->
5899四个数可以得24
题目详情
5899四个数可以得24
▼优质解答
答案和解析
不行,无解
另给你一个js 算24的,代码如下:
24点
var checkInput = function() {
var no1 = parseFloat(document.forms['form']['no1'].value);
var no2 = parseFloat(document.forms['form']['no2'].value);
var no3 = parseFloat(document.forms['form']['no3'].value);
var no4 = parseFloat(document.forms['form']['no4'].value);
if (isNaN(no1) || no1 = 100) {
alert("第一个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第二个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第三个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第四个数字非法!,应该输入大于0小于100的数字!");
return;
} else {
calc24([no1, no2, no3, no4]);
}
};
var calc24 = function(nums) {
var sign = ['+', '-', '*', '/'];
var expr = new Array(8);
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
for (k = 0; k < 4; k++) {
for (m = 0; m < 4; m++) {
for (n = 0; n < 4; n++) {
if (n == m) {
continue;
}
for (p = 0; p < 4; p++) {
if (p == m || p == n) {
continue;
}
for (q = 0; q < 4; q++) {
if (q == m || q == n || q == p) {
continue;
}
expr[1] = sign[i];
expr[6] = nums[p];
expr[7] = nums[q];
expr[0] = 1;
expr[2] = sign[j];
expr[3] = sign[k];
expr[4] = nums[m];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = sign[j];
expr[3] = nums[m];
expr[4] = sign[k];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = sign[j];
expr[3] = nums[m];
expr[4] = nums[n];
expr[5] = sign[k];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = nums[m];
expr[3] = sign[j];
expr[4] = sign[k];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = nums[m];
expr[3] = sign[j];
expr[4] = nums[n];
expr[5] = sign[k];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
}
}
}
}
}
}
}
alert('无解!');
};
var eval = function(expr) {
var i = expr[0];
expr[0]++;
if (!isNaN(expr[i])) {
return expr[i];
}
if (expr[i] == '+') {
return eval(expr) + eval(expr);
} else if (expr[i] == '-') {
return eval(expr) - eval(expr);
} else if (expr[i] == '*') {
return eval(expr) * eval(expr);
} else if (expr[i] == '/') {
return eval(expr) / eval(expr);
} else {
alert('error!');
}
};
var tostring = function(expr) {
var i = expr[0];
expr[0]++;
if (!isNaN(expr[i])) {
return expr[i];
} else {
if (i > 1) {
return ('(' + tostring(expr) + expr[i] + tostring(expr) + ')');
} else {
return (tostring(expr) + expr[i] + tostring(expr));
}
}
};
另给你一个js 算24的,代码如下:
24点
var checkInput = function() {
var no1 = parseFloat(document.forms['form']['no1'].value);
var no2 = parseFloat(document.forms['form']['no2'].value);
var no3 = parseFloat(document.forms['form']['no3'].value);
var no4 = parseFloat(document.forms['form']['no4'].value);
if (isNaN(no1) || no1 = 100) {
alert("第一个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第二个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第三个数字非法!,应该输入大于0小于100的数字!");
return;
} else if (isNaN(no2) || no2 = 100) {
alert("第四个数字非法!,应该输入大于0小于100的数字!");
return;
} else {
calc24([no1, no2, no3, no4]);
}
};
var calc24 = function(nums) {
var sign = ['+', '-', '*', '/'];
var expr = new Array(8);
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
for (k = 0; k < 4; k++) {
for (m = 0; m < 4; m++) {
for (n = 0; n < 4; n++) {
if (n == m) {
continue;
}
for (p = 0; p < 4; p++) {
if (p == m || p == n) {
continue;
}
for (q = 0; q < 4; q++) {
if (q == m || q == n || q == p) {
continue;
}
expr[1] = sign[i];
expr[6] = nums[p];
expr[7] = nums[q];
expr[0] = 1;
expr[2] = sign[j];
expr[3] = sign[k];
expr[4] = nums[m];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = sign[j];
expr[3] = nums[m];
expr[4] = sign[k];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = sign[j];
expr[3] = nums[m];
expr[4] = nums[n];
expr[5] = sign[k];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = nums[m];
expr[3] = sign[j];
expr[4] = sign[k];
expr[5] = nums[n];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
expr[0] = 1;
expr[2] = nums[m];
expr[3] = sign[j];
expr[4] = nums[n];
expr[5] = sign[k];
//if(eval(expr)==24){
if (Math.abs(eval(expr) - 24) < 0.0000001) {
expr[0] = 1;
alert(tostring(expr) + '=24');
return;
}
}
}
}
}
}
}
}
alert('无解!');
};
var eval = function(expr) {
var i = expr[0];
expr[0]++;
if (!isNaN(expr[i])) {
return expr[i];
}
if (expr[i] == '+') {
return eval(expr) + eval(expr);
} else if (expr[i] == '-') {
return eval(expr) - eval(expr);
} else if (expr[i] == '*') {
return eval(expr) * eval(expr);
} else if (expr[i] == '/') {
return eval(expr) / eval(expr);
} else {
alert('error!');
}
};
var tostring = function(expr) {
var i = expr[0];
expr[0]++;
if (!isNaN(expr[i])) {
return expr[i];
} else {
if (i > 1) {
return ('(' + tostring(expr) + expr[i] + tostring(expr) + ')');
} else {
return (tostring(expr) + expr[i] + tostring(expr));
}
}
};
第一个数: | |
第二个数: | |
第三个数: | |
第四个数: | |
看了 5899四个数可以得24...的网友还看了以下:
20乘以12分之5乘以8分之312分之5乘以15分之18乘以9分之530乘以2又5分之2乘以6分之 2020-04-07 …
15分之15除以(12分之5除以8分之5+8分之3简便计算和七分之一乘19分之9除以14分之5除以 2020-05-16 …
5/7+1/8=?2/3+5/9=?3/8+7/12=?4/5-3/10=?8/9-5/7=?11 2020-05-17 …
分数和百分数的互化,23.3%122.5%33%5.9%3.8%8.2%6.4%8.0%(把以上百 2020-07-18 …
1.(5又5/9-0.8+2又4/9)×(7.6÷4/5+2又2/5×1.25)2.1.1×4又2 2020-07-18 …
1.3998是4个连续自然数的和,其中最大的数是().2.在下面的式子中填上括号,使等式成立.5乘 2020-07-18 …
7.3+2.7=99+96=9-3.8=1-0.4=101×78=9.7-7=0.86×100=1 2020-07-19 …
口算.3+5=6+3=5+5=9-4=8+2=2+6=8-8=7-3=9-0= 2020-10-30 …
组数.1.用1,3,5,9,0,8,4,6组成最大的八位数2.用2,7,9,6,0,5,7,4组成最 2020-11-17 …
请具体讲解一下分数的加,减,乘,除法的运算方法还有分数怎么比较大小,1(1/2)的倒数是2/3是怎么 2020-11-28 …
相关搜索:5899四个数可以得24