韶华将逝,雄心未已;欲与众君,共习此技.
将一个数字的十位和个位对调
上一篇 /
下一篇 2007-06-28 17:34:17 / 天气: 晴朗
/ 心情: 平静
/ 个人分类:PHP & MySQL
$num = ($num%10)*10+($num-($num%10))/10;
应该是最直接的
方法,将个位数用取余运算得出,再将个位数减掉后被10整除得到十位数。
原文中所说的“ba = ( ab - (ab/10) ) * 10 + (ab/10)”方法叫人看不太懂,试验过后也无法得出正确的解答。但想来大概是笔误,将/写做了%,而且个位和十位的处理颠倒了。
至于后面说的那龇椒ā? (ab/10) + (ab-(ab/10)*10) ) * 10 + ( (ab/10) + (ab-(ab/10)*10) ) - ab”,结果也是不对。大概又是哪里写差了。
很简单的一个问题。初学者不妨自己也动手做一下。
另外又尝试写了一个通用的整数对调程序。贴出来参考一下:
<?php
$number = 123456789;
echo 'original number: '.$number.'<br />';
echo 'digitExchangeCommon: '.digitExchangeCommon($number);
function digitExchangeCommon($num)
{
$numNew = 0;
while ($num>0)
{
$numNew *= 10;
$numNew += $num%10;
$num = (int)(($num-$num%10)/10);
}
return $numNew;
}
?>
原数末尾为0的话,输出的数值会少一位,因为第一位是0。也就不考虑了。需要的话可以在做一下判断,在输出数值之前加0。
导入论坛
收藏
分享给好友
管理
举报
TAG:
算法
数字
十位
个位
对调