永发信息网

用123456789来填不能重复

答案:2  悬赏:10  手机版
解决时间 2021-03-07 21:29
  • 提问者网友:战魂
  • 2021-03-07 05:12
用123456789来填不能重复
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-03-07 05:25
1738 * 4 = 6952 1963 * 4 = 7852======以下答案可供参考======供参考答案1:我编了一个C++程序解这个问题,被乘数从1234搜到4987(大于5000不可能因为至少乘以2),乘数从2搜到7(1,8,9明显不可能),发现2组1963*4=7852,1738*4=6952。 程序如下: #include void extractDigit(int p, int q[10]) { int p1,p2,p3,p4; p1=p/1000; p2=(p-p1*1000)/100; p3=(p-p1*1000-p2*100)/10; p4=p-p1*1000-p2*100-p3*10; q[p1]++; q[p2]++; q[p3]++; q[p4]++; } int main() { int a,b,c,t[10],i,flag=0; for(i=0;ifor(a=1234;a{extractDigit(a,t); for(b=2;b{t[b]++; c=a*b; if(cextractDigit(c,t); printf(a = %d, b = %d:\t,a,b); for(i=1;iprintf(\n); if(flag==0){printf(%d*%d=%d\n,a,b,c);getchar();} for(i=1;iflag=0; extractDigit(a,t); } } } return 1; }供参考答案2:1738 * 4 = 6952 1963 * 4 = 7852 #include void print(int a_h[]) { for (int i=0; icoutcout} void swap(int &a, int &b) { int t = a; a = b; b = t; }//交换 void reverse(int a[], int i, int j) { while (iswap(a[i++],a[j--]); } }//颠倒 T(int a[]) { int b = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3], c = a[4], d = a[5] * 1000 + a[6] * 100 + a[7] * 10 + a[8]; if(b*c==d) return 1;
全部回答
  • 1楼网友:山河有幸埋战骨
  • 2021-03-07 06:34
对的,就是这个意思
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯