扣丁書屋

PHP輸出所有位數的水仙花

2年以前  |  閱讀數:132 次  |    

判斷水仙花數

什么是水仙花數

水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 3 位數,它的每個位上的數字的 3次冪之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

<?php
/***水仙花數為不小于3位的數字,每位數字的N次冪的和等于該數字.N為該數字的位數*@namedaffodilsNum水仙花數*@param$places水仙花位數>=3*/
function daffodilsNum($places=3){
    if(!defined('PLACES')) define('PLACES',is_numeric($places)?$places:3);
    if(PLACES>=3){
        $min=pow(10,PLACES-1);
        //選數范圍起始位置
        $max=pow(10,PLACES);
        //選數范圍結束位置//開始選數
        for($i=$min,$out='';$i<$max;$i++){
            $sum=0;
            //當前選數下各個冪值的和
            $arr=str_split($i);//以字符串方式分割選數
            for($j=0;$j<PLACES;++$j)//對每個數字作冪操作并累加
            {
                $sum+=pow($arr[$j],PLACES);
                if($sum>$i)
                //如果當前累加已大于選數,則跳出循環
                    break;}
                if($sum==$i)//如果符合定義,將該數字添加到輸出隊列
                    $out.=$i."\n";
            }
        //輸出隊列
        echo$out;
    }
}
echo daffodilsNum(3);

?>

相關文章:

18禁止午夜福利体验区,人与动人物xxxx毛片人与狍,色男人窝网站聚色窝
<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>