设计一个c++程序来解决下面的问题

发布网友 发布时间:2022-04-21 14:25

我来回答

3个回答

热心网友 时间:2023-11-10 17:13

#include<iostream>
using namespace std;

int main(){
int a,b,c,d,e;
for(a = 0;a < 10;a ++)
for(b = 0;b < 10;b ++)
for(c = 0;c < 10;c ++)
for(d = 0;d < 10;d ++)
for(e = 0;e < 10;e ++){
int x = e + 10*d + 100*c + 1000*b + 10000*a;
int y = a + 10*b + 100*c + 1000*e + 10000*d + 100000*e;
if(x + y == 139693) cout<<x<<" + "<<y<<" = "<<(x+y)<<endl;
}
}

热心网友 时间:2023-11-10 17:13

我用了个最笨的方法:穷举法。不过本题计算量不大,还行。
#include<iostream>

using namespace std;

int main(void){
for(int a=0;a<=9;a++)
for(int b=0;b<=9;b++)
for(int c=0;c<=9;c++)
for(int d=0;d<=9;d++)
for(int e=0;e<=9;e++){
unsigned long sum=a*10000+b*1000+c*100+d*10+e+e*100000+d*10000+e*1000+c*100+b*10+a;
if(sum==139693)
cout<<a<<b<<c<<d<<e<<"+"<<e<<d<<e<<c<<b<<a<<"=139693"<<endl;}
return 1;}

热心网友 时间:2023-11-10 17:14

口算得 E 为 1
A 为 2
B 为 8
D 为 1
C 为 3

这种情况只能 E 为 1或 0 。
0代进去不可能。
28311+111382=139693
哈哈
用程序不停的循环,浪费资源,人永远比电脑聪明。
记得好像是华为公司面试有个题目,大概和这差不多, 不用循环编程求解类似题目。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com