求一道c语言习题,是数字相加的

学习 时间:2026-04-06 16:53:04 阅读:6167
求一道c语言习题,是数字相加的给定一个表达式ABCDE+ACEXD = MBBEEX上述表达式为一个运算,是两个五位数相加,结果等于一个六位数要求第一个五数中,出现的数字,要和第二个五位数中的数字相同即例如 (只是假设)如果12345是第一个五位数,则135x4要是第二个五位数(x可以为任意数字)但是结果中,要求结果(只是假设)是m2255x(m是任意数字,x与第二个五位数中的x相同)求出所有满足条件的五位数和六位数输出结果的格式是 ABCDE = .,ACEXD = .and BBEEX = .是一种组合将所有组合全部输出.输出结果里的BBEEX 是 MBBEEX 写错了.

最佳回答

玩命的苗条

粗暴的蚂蚁

2026-04-06 16:53:04

是否要求每个字母代表不同的数字? 再问: 要求ABCDE = 。。。。。, ACEXD = 。。。。。 and MBBEEX就是,第一个数字的第1位要求等于第二个数字的第1位,第一个数字的第2位,要求等于想家结果的2,3位的数字。。。就是找这样的数。。。 再答: 单纯地循环会造成海量的运算,可以在编程前进行分析分析下数字关系:最高位M=1,A>5(否则就不可能加成六位数)个位:E+D=X,或E+D=X+10十位:D+X=E、D+X=E+10,,或D+X+1=E、D+X+1=E+10当个位为E+D=X+10时,由D+X+1=E、D+X+1=E+10可推出2D=9或2D=19,均不和题目要求。 所以E+D=X由 D+X=E 可推出 D=0,E=X,结合百位以上可得C=0,2A=B+10;由 D+X=E+10 可推出 D=5,E+5=X,结合百位以上可得C=9,2A=B+9。据此可编写程序。#include<stdio。h> void main() {  long int x1,x2,x3; long int a,b,c,d,e,x,m=1; for (a=5;a<9;a++)   for (e=0;e<9;e++)     { d=0;  //十位相加没进位       x=e;       c=0;       b=2*a-10;       x1=a*10000+b*1000+c*100+d*10+e;       x2=a*10000+c*1000+e*100+x*10+d;       x3=100000+b*10000+b*1000+e*100+e*10+x;      if (x1+x2==x3) printf("%ld + %ld = %ld\n",x1,x2,x3);       d=5;  //十位相加有进位       x=e+5; if(x>10) break;       c=9;       b=2*a-9;       x1=a*10000+b*1000+c*100+d*10+e;       x2=a*10000+c*1000+e*100+x*10+d;       x3=100000+b*10000+b*1000+e*100+e*10+x;       if (x1+x2==x3) printf("%ld + %ld = %ld\n",x1,x2,x3);      }  getch();}

最新回答共有2条回答

  • 糊涂的飞鸟
    回复
    2026-04-06 16:53:04

    是否要求每个字母代表不同的数字? 再问: 要求ABCDE = 。。。。。, ACEXD = 。。。。。 and MBBEEX就是,第一个数字的第1位要求等于第二个数字的第1位,第一个数字的第2位,要求等于想家结果的2,3位的数字。。。就是找这样的数。。。 再答: 单纯地循环会造成海量的运算,可以在编程前进行分析分析下数字关系:最高位M=1,A>5(否则就不可能加成六位数)个位:E+D=X,或E+D=X+10十位:D+X=E、D+X=E+10,,或D+X+1=E、D+X+1=E+10当个位为E+D=X+10时,由D+X+1=E、D+X+1=E+10可推出2D=9或2D=19,均不和题目要求。 所以E+D=X由 D+X=E 可推出 D=0,E=X,结合百位以上可得C=0,2A=B+10;由 D+X=E+10 可推出 D=5,E+5=X,结合百位以上可得C=9,2A=B+9。据此可编写程序。#include<stdio。h> void main() {  long int x1,x2,x3; long int a,b,c,d,e,x,m=1; for (a=5;a<9;a++)   for (e=0;e<9;e++)     { d=0;  //十位相加没进位       x=e;       c=0;       b=2*a-10;       x1=a*10000+b*1000+c*100+d*10+e;       x2=a*10000+c*1000+e*100+x*10+d;       x3=100000+b*10000+b*1000+e*100+e*10+x;      if (x1+x2==x3) printf("%ld + %ld = %ld\n",x1,x2,x3);       d=5;  //十位相加有进位       x=e+5; if(x>10) break;       c=9;       b=2*a-9;       x1=a*10000+b*1000+c*100+d*10+e;       x2=a*10000+c*1000+e*100+x*10+d;       x3=100000+b*10000+b*1000+e*100+e*10+x;       if (x1+x2==x3) printf("%ld + %ld = %ld\n",x1,x2,x3);      }  getch();}

上一篇 三角恒等

下一篇 求托福TPO1-24 综合写作和独立写作部分 要是有听力部分或者全的就跟好了.3q