[问题] 题目求解

楼主: iftrush (绫绢姊)   2018-09-03 17:49:27
题目是数字交换
4321 -> 1234
我写的code
https://imgur.com/a/pLmBjog
run的结果
https://imgur.com/a/rFCvRiE
我的想法是
4321 / 1000 * 1 -> 4
321 / 100 * 10 -> 30
21 / 10 * 100 -> 200
1 / 1 *1000 ->1000
1000+200+30+4 = 1234
但是在30那步骤就歪掉了
30 + 4 = 36?
想问问错的点在哪?
作者: pttworld (批踢踢世界)   2018-09-03 19:11:00
Math.pow回传double, n除以变成double, 需要转型整数
楼主: iftrush (绫绢姊)   2018-09-04 00:43:00
了解,感谢
作者: Cavalier (Cavalier)   2018-09-05 02:06:00
你可以宣告一个 power = 1, 然后每次 power *= 10 就好
楼主: iftrush (绫绢姊)   2018-09-06 23:02:00
喔,这样就不需要Math.pow了
作者: adrianshum (Alien)   2018-09-07 12:53:00
其实连这都不必:r=0;while(i>0){r=r*10+i%10; i/=10}就ok 了
作者: Aidan79225 (鬼神)   2018-09-11 14:52:00
return n==0 ? temp : reverse(n/10, temp*10 + n%10)
作者: sthermit ( )   2018-09-19 02:08:00
直接当字串,取char反过来排?会不会更简单
作者: f19870421 (鱼儿)   2018-10-14 00:19:00
当字串反过来就好了吧

Links booklink

Contact Us: admin [ a t ] ucptt.com