问题描述
- abcd*9=dcba 用Java如何解出?
-
abcd*9=dcba 求解abcd,用Java如何解出?求各位指教。
解决方案
例如: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 后是否相等就可以得到你想要的结果 。
解决方案二:
这不是 Java 的问题,是你要想如何解,Java 只是一个实现的工具。
解决方案三:
不考虑复杂度,套循环 1089 *9
解决方案四:
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;判断一下即可
解决方案五:
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;判断一下即可
解决方案六:
首先自己能用算法解出来的话,,直接用程序就能实现了