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

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

6个回答

例如: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 后是否相等就可以得到你想要的结果 。

wojiushiwo945you
毕小宝 回复毕小宝:手误,sorrry。本意为: 我当年的数学知识。
4 年多之前 回复
wojiushiwo945you
毕小宝 分析准确,佩服。当你的数学知识都还给老师了。
4 年多之前 回复

这不是 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;判断一下即可

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问