永发信息网

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<<" 最大值: "<全部回答
  • 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&lt;iostream.h&gt;   void swap(int &amp;a, int &amp;b) {   int t = a;   a = b;   b = t;   }//交换   void reverse(int a[], int i, int j) {   while (i&lt;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 &gt; max) {   max = e;   for(k = 0; k &lt; 3; k++)   p[k] = b[k];   }   if(e &lt; min) {   min = e;   for(k = 0; k &lt; 3; k++)   q[k] = b[k];   }   for (i=7; i&gt;=0; i--)   if (a[i] &lt; a[i+1]) break;   if (i==-1) break;   for (j=8; j&gt;i; j--)   if (a[j] &gt; a[i]) break;   swap(a[i],a[j]);   reverse(a,i+1,8);   }   cout&lt;&lt;" 最大值: "&lt;&lt;p[0]&lt;&lt;" * "&lt;&lt;p[1]&lt;&lt;" * "&lt;&lt;p[2]&lt;&lt;" = "&lt;&lt;max&lt;&lt;endl   &lt;&lt;" 最小值: "&lt;&lt;q[0]&lt;&lt;" * "&lt;&lt;q[1]&lt;&lt;" * "&lt;&lt;q[2]&lt;&lt;" = "&lt;&lt;min&lt;&lt;endl;   }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯