算法题:找出阿姆斯壮数
Armstrong(阿姆斯壮)数是等于其数字的立方数之和的数字,
如 153 可以满足 1*1*1+5*5*5+3*3*3=153,试写出一程序找出所有的三位数 Armstrong 数。
采用穷举法,把数分成三位,遍历从100到999,如果三个数立方数之和 等于 它自己,则输出。
// 找出所有三位数的Armstrong数
function find_armstrong(){
for($i=1;$i<=9;$i++){
for($j=0;$j<=9;$j++){
for($n=0;$n<=9;$n++){
if (pow($i,3) + pow($j,3) + pow($n,3) == (int)($i.$j.$n)) {
var_dump($i.$j.$n);
}
}
}
}
}
find_armstrong();
结果:153 370 371 407