123456789任意组成3个百位数相乘的最小值是多少
答案:4 悬赏:80 手机版
解决时间 2021-02-10 23:27
- 提问者网友:那叫心脏的地方装的都是你
- 2021-02-10 04:29
最大值又是多少?
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-10 05:07
最大值: 763 * 852 * 941 = 611721516
最小值: 147 * 258 * 369 = 13994694
Press any key to continue
#include
void swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}//交换
void reverse(int a[], int i, int j) {
while (i
swap(a[i++],a[j--]);
}
}//颠倒
void main() {
int a[9] = {1,2,3,4,5,6,7,8,9}, i, j, k, n = 0, b[3], p[3], q[3];
long e, min = 1000000000, max = 1000000;
while (1) {
b[0] = a[0] * 100 + a[1] * 10 + a[2];
b[1] = a[3] * 100 + a[4] * 10 + a[5];
b[2] = a[6] * 100 + a[7] * 10 + a[8];
e = b[0] * b[1] * b[2];
if(e > max) {
max = e;
for(k = 0; k < 3; k++)
p[k] = b[k];
}
if(e < min) {
min = e;
for(k = 0; k < 3; k++)
q[k] = b[k];
}
for (i=7; i>=0; i--)
if (a[i] < a[i+1]) break;
if (i==-1) break;
for (j=8; j>i; j--)
if (a[j] > a[i]) break;
swap(a[i],a[j]);
reverse(a,i+1,8);
}
cout<<" 最大值: "< <<" 最小值: "< }
最小值: 147 * 258 * 369 = 13994694
Press any key to continue
#include
void swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}//交换
void reverse(int a[], int i, int j) {
while (i
}
}//颠倒
void main() {
int a[9] = {1,2,3,4,5,6,7,8,9}, i, j, k, n = 0, b[3], p[3], q[3];
long e, min = 1000000000, max = 1000000;
while (1) {
b[0] = a[0] * 100 + a[1] * 10 + a[2];
b[1] = a[3] * 100 + a[4] * 10 + a[5];
b[2] = a[6] * 100 + a[7] * 10 + a[8];
e = b[0] * b[1] * b[2];
if(e > max) {
max = e;
for(k = 0; k < 3; k++)
p[k] = b[k];
}
if(e < min) {
min = e;
for(k = 0; k < 3; k++)
q[k] = b[k];
}
for (i=7; i>=0; i--)
if (a[i] < a[i+1]) break;
if (i==-1) break;
for (j=8; j>i; j--)
if (a[j] > a[i]) break;
swap(a[i],a[j]);
reverse(a,i+1,8);
}
cout<<" 最大值: "< <<" 最小值: "< }
全部回答
- 1楼网友:詩光轨車
- 2021-02-10 08:16
169 * 258 * 347 = 15129894
961 * 852 * 743 = 608347596
别问我平均值,我不知道。
- 2楼网友:行路难
- 2021-02-10 06:51
147*258*369=13994694
941*852*763=611721516
- 3楼网友:蓝房子
- 2021-02-10 05:40
最大值: 763 * 852 * 941 = 611721516
最小值: 147 * 258 * 369 = 13994694
press any key to continue
#include<iostream.h>
void swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}//交换
void reverse(int a[], int i, int j) {
while (i<j) {
swap(a[i++],a[j--]);
}
}//颠倒
void main() {
int a[9] = {1,2,3,4,5,6,7,8,9}, i, j, k, n = 0, b[3], p[3], q[3];
long e, min = 1000000000, max = 1000000;
while (1) {
b[0] = a[0] * 100 + a[1] * 10 + a[2];
b[1] = a[3] * 100 + a[4] * 10 + a[5];
b[2] = a[6] * 100 + a[7] * 10 + a[8];
e = b[0] * b[1] * b[2];
if(e > max) {
max = e;
for(k = 0; k < 3; k++)
p[k] = b[k];
}
if(e < min) {
min = e;
for(k = 0; k < 3; k++)
q[k] = b[k];
}
for (i=7; i>=0; i--)
if (a[i] < a[i+1]) break;
if (i==-1) break;
for (j=8; j>i; j--)
if (a[j] > a[i]) break;
swap(a[i],a[j]);
reverse(a,i+1,8);
}
cout<<" 最大值: "<<p[0]<<" * "<<p[1]<<" * "<<p[2]<<" = "<<max<<endl
<<" 最小值: "<<q[0]<<" * "<<q[1]<<" * "<<q[2]<<" = "<<min<<endl;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯