尝试弄清楚如何在数字被拉开后重建数字...使用模数运算符来交换数字对。例如,方法调用swapDigitPairs(482596)将返回845269.它需要在不使用数组或字符串的情况下完成。如果方法传递了一个奇数位数的整数,则最左边不会移动。
编辑: 交换9和6,交换2和5,以及4和8。 我理解如何将数字分开,但我正在寻找一些如何将它们放在一起而没有字符串或数组的想法。任何想法赞赏
答案 0 :(得分:1)
这是 scratch pseudo -code - 希望有帮助
{
int i = 0x842569;
Do for each byte
{
for byte0
{
int byte0Swapped = swapNibble (i & 0xFF);
i = (i & 0xFFFFFF00) | byte0Swapped ;
}
}
}
答案 1 :(得分:0)
Haskell中:
swap num =
swap' num 1
where swap' num factor =
let a = mod num 10
b = mod (div num 10) 10
in next + factor * (10 * a + b)
where next = if num == 0
then 0
else swap' (div num 100) (100 * factor)
*主>交换482596
845269