sinat_30611307
caogang1993
采纳率0%
2016-01-18 06:06 阅读 1.9k

abcd*9=dcba 用Java如何解出?

abcd*9=dcba 求解abcd,用Java如何解出?求各位指教。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 91program 91program 2016-01-18 06:19

    例如:1) a 只可能是 0 或者 1,否则乘以 9 不可能还是 4 位数。如果中零,则不会是 abcd、而是 bcd。所以 a = 1;
    2) 9 乘以 几,最后是 1,只有 9;所以 d = 9;
    3) 。。。。
    如果你不想这样,因为它靠程序来实现不太现实。!

    你可以考虑从 1000 到 1200、或者 a/b/c/d 可以为零时,从 0 到 1200 循环,再将 abcd 这个数通过 % 和 / 取出各个位数上的数字,计算得到 dcba.
    验证 *9 后是否相等就可以得到你想要的结果 。

    点赞 1 评论 复制链接分享
  • 91program 91program 2016-01-18 06:12

    这不是 Java 的问题,是你要想如何解,Java 只是一个实现的工具。

    点赞 评论 复制链接分享
  • rui888 兔子托尼啊 2016-01-18 06:16

    不考虑复杂度,套循环 1089 *9

    点赞 评论 复制链接分享
  • u011339641 我是一堆小石头 2016-01-18 09:32

    for(a=0;a<10;a++)
    for(b=0;b<10;b++)
    for(c=0;c<10;c++)
    for(d=0;d<10;d++)
    if((a*1000+b*100+c*10+d)*9 == (d*1000+c*100+b*10+a))
    print a,b,c,d;
    这个才是java的做法(不要带入主观的分析),什么都不要考虑,每个数字循环0~9;判断一下即可

    点赞 评论 复制链接分享
  • u011339641 我是一堆小石头 2016-01-18 09:32

    for(a=0;a<10;a++)
    for(b=0;b<10;b++)
    for(c=0;c<10;c++)
    for(d=0;d<10;d++)
    if((a*1000+b*100+c*10+d)*9 == (d*1000+c*100+b*10+a))
    print a,b,c,d;
    这个才是java的做法(不要带入主观的分析),什么都不要考虑,每个数字循环0~9;判断一下即可

    点赞 评论 复制链接分享
  • Royal_lr Royal_lr 2016-01-19 02:33

    首先自己能用算法解出来的话,,直接用程序就能实现了

    点赞 评论 复制链接分享

相关推荐