qq_37051324 2021-04-14 09:32 采纳率: 100%
浏览 70
已采纳

c++穷举法的一个题目,题干在👇

题目:

奔跑吧兄弟成员:邓超、王祖蓝、范冰冰、韩庚、李晨的加法如下:

范邓韩王

+ 范邓李王 

李王韩范王

其中邓、王、范、韩、李均为1位数字(0-9),编写程序求邓、王、范、韩、李的取值。

我的程序:

出现错误:输出答案是这样:

邓=0

王=0

范=0

韩=1

李=0

邓=0

王=0

范=0

韩=2

李=0

邓=0

王=0

范=0

韩=3

李=0

邓=0

王=0

范=0

韩=4

李=0

邓=0

王=0

范=0

韩=5

李=0

邓=0

王=0

范=0

韩=6

李=0

邓=0

王=0

范=0

韩=7

李=0

邓=0

王=0

范=0

韩=8

李=0

邓=0

王=0

范=0

韩=9

李=0

Program ended with exit code: 0

可以帮我改一下程序,告诉我错误在哪里么,谢谢各位

  • 写回答

3条回答 默认 最新

  • 小亮点科技 2021-04-14 09:53
    关注

    1.题目说的很明白。就是汉字和数字游戏,先说一下人怎么思考:

           范邓韩王

    +    范邓李王 

      李王韩范王

    比如两个加数个位是王+王,最终的和个位也还是王,那说明王是0,因为只有0+0才等于0

           范邓韩0

    +    范邓李0 

       李0韩范0

    题目就变成这样了。

    比如李是进了一位,两个数相加只可能进1,所以李是1

           范邓韩0

    +    范邓1  0 

          10韩范0

    千位:范+范= 10,可以退出范为5,因为如果百位有进位的话,两个相同的数结果为偶数加上进位不可能是10所以百位没有进位,百位没有进位的话,千位两个一样的数相加为10就只能是5+5

           5邓韩0

    +    5邓1 0 

         10韩50

    十位,韩+1=5所以韩是4,  邓+邓=韩,韩是4,邓是2

           5240

    +    521 0 

         10450

    2.编程解决的话,最简单的就是多级循环。用穷举的办法试出结果。

    邓、王、范、韩、李分别从0-9循环,

    当这五个数都不相等,并且 (1000*范+100*邓+10*韩+王) + (1000*范+100*邓+10*李+王)等于(10000 * 李 + 1000*王+100*韩+10*范+王)时。

    就可以得出结果。

    希望对你有帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题