打赏

PHP水仙花数的实现

php水仙花数是什么?

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:1634,8208,9474;
五位的水仙花数共有3个:54748,92727,93084;
六位的水仙花数只有1个:548834;

PHP求水仙花数的程序,有多种写法:

 1 <?php
 2 header("content-type:text/html;charset=utf-8;"); //设置页面编码为 utf-8
 3 
 4 //以下代码求解1000以内的水仙花数
 5 echo '<p>1000以内的水仙花数: </p>';
 6 
 7 for ($i = 100; $i < 1000; ++$i) {
 8     $hundreds = floor($i / 100);    //分解出百位
 9     $tens = floor($i / 10) % 10;   //分解出十位
10     $ones = floor($i % 10);        //分解出个位
11     if (bcpow($hundreds, '3') + bcpow($tens, '3') + bcpow($ones, '3') == $i)
12         echo $i . "<br/>";
13 }
14 ?>

输出:

1 1000以内的水仙花数:
2 153
3 370
4 371
5 407

 

链接:https://mp.weixin.qq.com/s/0WvTNiVYntQu6H0RQOx3vQ

posted on 2019-09-17 09:44  头大的冯冯  阅读(1212)  评论(0编辑  收藏  举报

导航