当前位置:首页 > 常识大全 > php编程找出所有的水仙花数(编程实现寻找所有水仙花数)

php编程找出所有的水仙花数(编程实现寻找所有水仙花数)

编程实现寻找所有水仙花数

水仙花数,是指一个三位数,其每个数位数字的立方和等于该数本身。例如153即为一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。那么,如何用php编程来找出所有的水仙花数呢?

第一步:循环遍历所有三位数

首先,我们要用循环遍历所有的三位数,从100开始遍历到999,代码如下:

``` for($i=100; $i<1000; $i++){ //这里的$i就是当前的三位数 } ```

第二步:拆分三位数的每一位数

接着,我们要用php中的取余运算和整除运算来拆分当前的三位数,将其拆成个位、十位、百位,代码如下:

``` $bai = floor($i / 100); //取百位数字 $shi = floor(($i % 100) / 10); //取十位数字 $ge = $i % 10; //取个位数字 ```

第三步:判断是否为水仙花数

最后,我们要将拆分出来的每个数字的立方和累加到一起,并与当前的三位数$i进行比较,如果相等,则说明其为水仙花数,代码如下:

``` if($i == ($bai*$bai*$bai + $shi*$shi*$shi + $ge*$ge*$ge)){ echo $i.'是水仙花数'; } ```

将三个步骤结合在一起,并加上完整的php代码如下:

``` <?php for($i=100; $i<1000; $i++){ $bai = floor($i / 100); //取百位数字 $shi = floor(($i % 100) / 10); //取十位数字 $ge = $i % 10; //取个位数字 if($i == ($bai*$bai*$bai + $shi*$shi*$shi + $ge*$ge*$ge)){ echo $i.'是水仙花数
'; } } ?> ```

运行以上代码,即可输出所有的水仙花数:

``` 153是水仙花数 370是水仙花数 371是水仙花数 407是水仙花数 ```

以上便是用php编程寻找所有水仙花数的方法。通过循环遍历所有三位数,拆分每个数字,再判断是否为水仙花数,即可找出所有的水仙花数。这个方法可以应用于其他类似问题的解决。