d = [2,1,3,4,5,6,7,8,9];
d.sort(function(a,b){return b-a});
a = b = 0;
for(i=0; i<d.length-1; i+=2) {
if((a * 10 + d[i]) * (b * 10 + d[i+1]) > (a * 10 + d[i+1]) * (b * 10 + d[i])) {
a = a * 10 + d[i];
b = b * 10 + d[i+1];
}else {
a = a * 10 + d[i+1];
b = b * 10 + d[i];
}
}
document.write('a=' + a + ' b=' + b);
a=8753 b=9642
d.sort(function(a,b){return b-a});
a = b = 0;
for(i=0; i<d.length-1; i+=2) {
if((a * 10 + d[i]) * (b * 10 + d[i+1]) > (a * 10 + d[i+1]) * (b * 10 + d[i])) {
a = a * 10 + d[i];
b = b * 10 + d[i+1];
}else {
a = a * 10 + d[i+1];
b = b * 10 + d[i];
}
}
document.write('a=' + a + ' b=' + b);
a=8753 b=9642
比如第一个数是由三个数组成,第二个数是由二个数组成
789*65=xx
768*95=xx
这样子
请问,这二个数应该如何取,才可得到最大值
程序怎么写呢
<script type="text/javascript">
var numberArray = ["5", "6", "7", "8", "9"] ;
var index_a ;
var index_b ;
var index_i ;
var firstNumber = '' ;
var secondNumber = '' ;
var tempSecondNumber = '' ;
var max = 0 ;
for( index_a = 0; index_a < numberArray.length; index_a++) {
for(index_b = index_a + 1; index_b < numberArray.length; index_b++ ) {
firstNumber = (numberArray[index_a] + numberArray[index_b]) * 1 ;
for(index_i = 0; index_i < numberArray.length; index_i++) {
if(index_i !== index_a && index_i !== index_b ){
tempSecondNumber += numberArray[index_i] ;
}
}
if(firstNumber * (tempSecondNumber * 1) > max) {
max = firstNumber * (secondNumber * 1) ;
secondNumber = tempSecondNumber ;
}
tempSecondNumber = '' ;
}
} alert("最大数是:" + firstNumber + "*" + secondNumber + "=" + max) ;
</script>
没写注释,楼主自己看看吧。
var numberArray = ["9", "8", "7", "6", "5"] ;
var index_a ;
var index_b ;
var index_i ;
var firstNumber = '' ;
var tempFirstNumber = '' ;
var secondNumber = '' ;
var tempSecondNumber = '' ;
var max = 0 ;
for( index_a = 0; index_a < numberArray.length; index_a++) {
for(index_b = index_a + 1; index_b < numberArray.length; index_b++ ) {
tempFirstNumber = (numberArray[index_a] + numberArray[index_b]) * 1 ;
for(index_i = 0; index_i < numberArray.length; index_i++) {
if(index_i !== index_a && index_i !== index_b ){
tempSecondNumber += numberArray[index_i] ;
}
}
if(tempFirstNumber * (tempSecondNumber * 1) > max) {
firstNumber = tempFirstNumber;
secondNumber = tempSecondNumber ;
max = firstNumber * (secondNumber * 1) ;
}
tempSecondNumber = '' ;
}
}
alert("最大数是:" + firstNumber + "*" + secondNumber + "=" + max) ;
</script>
根据10楼的修改了下
没有考虑换位。堆了一下代码,有时间楼主可以整理整理。<script type="text/javascript">
var numberArray = ["5", "6", "7", "8", "9"] ;
var index_a ;
var index_b ;
var index_i ;
var firstNumber = '' ;
var secondNumber = '' ;
var first = [] ;
var second = [] ;
var max = 0 ;
for( index_a = 0; index_a < numberArray.length; index_a++) {
first.push(index_a) ;
for(index_b = index_a + 1; index_b < numberArray.length; index_b++ ) {
first.push(index_b) ;
for(index_i = 0; index_i < numberArray.length; index_i++) {
if(index_i !== index_a && index_i !== index_b ){
second.push(index_i) ;
}
}
for(var i = 0; i < 2; i++) {
firstNumber = numberArray[first[i]] + numberArray[first[1 - i]] ;
for(var x = 0; x < 3; x++) {
for(var y = 0; y < 3; y++) {
for(var z = 0; z < 3; z++) {
if(x !== y && x !== z && y !== z) {
secondNumber = numberArray[second[x]] + numberArray[second[y]] + numberArray[second[z]] ;
if((firstNumber * 1) * (secondNumber * 1) > max) {
max = (firstNumber * 1) * (secondNumber * 1) ;
}
}
}
}
}
}
second.length = 0 ;
}
first.length = 0 ;
} alert("最大数是:" + firstNumber + "*" + secondNumber + "=" + max) ;
</script>
<script type="text/javascript">
var numberArray = ["5", "6", "7", "8", "9"] ;
var index_a ;
var index_b ;
var index_i ;
var firstNumber = '' ;
var secondNumber = '' ;
var first = [] ;
var second = [] ;
var max = 0 ;
for( index_a = 0; index_a < numberArray.length; index_a++) {
first.push(index_a) ;
for(index_b = index_a + 1; index_b < numberArray.length; index_b++ ) {
first.push(index_b) ;
for(index_i = 0; index_i < numberArray.length; index_i++) {
if(index_i !== index_a && index_i !== index_b ){
second.push(index_i) ;
}
}
for(var i = 0; i < 2; i++) {
firstNumber = numberArray[first[i]] + numberArray[first[1 - i]] ;
console.log("firstNumber:" + firstNumber) ;
for(var x = 0; x < 3; x++) {
for(var y = 0; y < 3; y++) {
for(var z = 0; z < 3; z++) {
if(x !== y && x !== z && y !== z) {
secondNumber = numberArray[second[x]] + numberArray[second[y]] + numberArray[second[z]] ;
console.log("secondNumber:" + secondNumber) ;
if((firstNumber * 1) * (secondNumber * 1) > max) {
max = (firstNumber * 1) * (secondNumber * 1) ;
}
}
}
}
}
}
second.length = 0 ;
first.length = 1 ; // 漏了一句
}
first.length = 0 ;
} alert("最大数是:" + firstNumber + "*" + secondNumber + "=" + max) ;
</script>
<script type="text/javascript">
window.onload = function () {
var s = "";
var a = 0;
var b = 0;
for (var i = 1; i < 10; i++) {
for (var j = 1; j < 10; j++) {
for (var m = 1; m < 10; m++) {
for (var n = 1; n < 10; n++) {
for (var z = 1; z < 10; z++) {
if (i != j && i != m && i != n && i != z) {
if (j != m && j != n && j != z) {
if (m != n && m != z) {
if (n != z) {
a = i * 100 + j * 10 + m;
b = n * 10 + z;
var c = a * b;
s += a + "," + b + "," + c + ",";
}
}
}
}
}
}
}
}
}
max(s);
}
function max(s) {
var info = new Array()
info = s.split(",");
var info1 = new Array();
var x = "";
for (var i = 0; i < info.length; i++) {
if (info[i] == Math.max.apply(null, info)) {
alert(info[i] + "乘以" + info[i + 1] + "等于" + info[i + 2]);
}
}
}
</script>这个就是慢点 但是能出来
<script type="text/javascript">
window.onload = function () {
var s = "";
var a = 0;
var b = 0;
for (var i = 1; i < 10; i++) {
for (var j = 1; j < 10; j++) {
for (var m = 1; m < 10; m++) {
for (var n = 1; n < 10; n++) {
for (var z = 1; z < 10; z++) {
if (i != j && i != m && i != n && i != z) {
if (j != m && j != n && j != z) {
if (m != n && m != z) {
if (n != z) {
a = i * 100 + j * 10 + m;
b = n * 10 + z;
var c = a * b;
s += a + "," + b + "," + c + ",";
}
}
}
}
}
}
}
}
}
max(s);
}
function max(s) {
var info = new Array()
info = s.split(",");
var info1 = new Array();
var x = "";
for (var i = 0; i < info.length; i++) {
if (info[i+1] == Math.max.apply(null, info)) { //这改了一下
alert(info[i] + "乘以" + info[i + 1] + "等于" + info[i + 2]);
}
}
}
</script>
<script type="text/javascript">
var number_array=["9", "8", "7", "6", "5"];
var index_a;
var index_b;
var index_i;
var firstnumber = '';
var secondnumber = '';
var maxnumber = 0;
var first_temp_number = '';
var second_temp_number = '';
for (index_a = 0; index_a < number_array.length; index_a++)
{
for(index_b = index_a + 1; index_b < number_array.length; index_b++)
{
first_temp_number = (number_array[index_a] + number_array[index_b]) * 1;
for(index_i = 0; index_i < number_array.length; index_i++)
{
if(index_i != index_a && index_i != index_b)
{
second_temp_number += number_array[index_i] * 1;
}
}
if(first_temp_number * (second_temp_number * 1) > maxnumber)
{
maxnumber = first_temp_number * (second_temp_number * 1);
firstnumber = first_temp_number;
secondnumber = second_temp_number * 1;
}
first_temp_number = '';
second_temp_number = '';
}
}
alert("first_number: " + firstnumber);
document.write("<p>first_number: " + firstnumber + "</p>");
alert("second_number: " + secondnumber);
document.write("<p>second_number: " + secondnumber + "</p>");
alert("the max number is: " + maxnumber);
document.write("<p>the mux number is: " + maxnumber + "</p>");
</script>
var v = 0,
m = 0,
n = 0; for (var i = 987; i > 500; i--) {
for (var j = 65 ; j > 50 ; j--) {
if (t(i, j) && (i * j >v)) {
v = i * j;
m = i;
n = j;
}
}
} alert('i:' + m + '\nj:' + n + '\nv:' + v);
function t(x, y) {
var s = x + '' + y;
for (var i = 0; i < s.length ; i++) {
var char = s.substr(i, 1);
if (s.indexOf(char) != s.lastIndexOf(char)) {
return false;
}
}
return true;
}
</script>
var v = 0,
m = 0,
n = 0; for (var i = 987; i > 500; i--) {
for (var j = 99 ; j > 50 ; j--) {
if (t(i, j) && (i * j >v)) {
v = i * j;
m = i;
n = j;
}
}
} alert('i:' + m + '\nj:' + n + '\nv:' + v);
function t(x, y) {
var s = x + '' + y;
for (var i = 0; i < s.length ; i++) {
var char = s.substr(i, 1);
if (s.indexOf(char) != s.lastIndexOf(char)) {
return false;
}
}
return true;
}
</script>
d = [2,1,3,4,5,6,7,8,9];
d.sort(function(a,b){return b-a});
a = b = 0;
for(i=0,k=0; i<d.length-1; i+=2,k++) {
if(k == 2) {
if(a > b) a = a * 10 + d[i];
else b = b * 10 + d[i];
break;
}
if((a * 10 + d[i]) * (b * 10 + d[i+1]) > (a * 10 + d[i+1]) * (b * 10 + d[i])) {
a = a * 10 + d[i];
b = b * 10 + d[i+1];
}else {
a = a * 10 + d[i+1];
b = b * 10 + d[i];
}
}
document.write('a=' + a + ' b=' + b);
a=87 b=965