php中的水仙花数怎么写
时间 : 2023-02-23 06:20:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

水仙花数,又叫超完全数字不变数、自幂数、自守数、回文数、平方数,它是一个三位数,该数字每个位上数字的立方之和正好等于它本身,例如153=1*1*1+5*5*5+3*3*3,水仙花数在百位、十位、个位上分别是所求数中特定位数上的数字,每位上数字的立方之和等于另外两位上数字的立方之和。本文将介绍php中水仙花数的定义及编码方式。

从定义上讲,水仙花数是每个位上数字的立方之和正好等于它本身的三位数。用php中编码表示,它要求使用for循环语句,将百位十位和个位上的数字平方和也把它们存放到变量sum中,然后给定一个范围,检测每个数都有没有等于他本身的平方和,有就输出:

<?php

for ($i=100;$i<1000;$i++){

$a=$i/100;

$b=$i/10%10;

$c=$i%10;

$sum=$a*$a*$a+$b*$b*$b+$c*$c*$c;

if ($sum==$i){

echo $sum."<br>";

}

}

?>

上述代码表示要求循环从100到1000,将每位数字分别取出,并求出百位十位和个位数字的立方之和,上述的i的值得为100,当$i循环到100时,可以通过$a=$i/100操作,提取出百位上的数字即为100,再通过$b=$i/10%10 将十位上的数字取出,取出个位上的数字即可通过$c=$i%10操作,之后求出百位十位和个位SUM的和,如果sum等于百位十位和个位的数字,则输出等于它本身的此百位十位和个位的水仙花数。

php中的水仙花数就是指一个三位数,每个位上的数字的立方之和等于该数本身。例如:153 = 1^3 + 5^3 + 3^3的数就是水仙花数。

php中怎么计算水仙花数呢?可以使用以下代码:

<?php

for($i=100;$i<1000;$i++) {

$hundreds=$i / 100;

$tens=($i - 100 * $hundreds) / 10;

$units=$i % 10;

if($i == pow($hundreds,3) + pow($tens,3) + pow($units,3)) {

echo $i."是水仙花数\n";

}

}

?>

上面的代码是用来检测从100到999中的数字是不是水仙花数,其中:$hundreds表示$i的百位数,$tens表示$i的十位数,$units表示$i的个位数,然后使用三次方运算符(^)来判断是不是水仙花数,如果是,就会输出“xxx是水仙花数”,这样的一条语句来提示。

水仙花数的历史可以追溯到公元前前200年,由早期的古希腊数学家们发现。他们发现满足某种数学特性的数字都可以称为水仙花数,它们拥有很强烈的数学特质,但并不常见,直到最近才能用计算机来快速检查出来。

总的来看,php中的水仙花数是指符合1^3 + 5^3 + 3^3的数,可以使用以上代码来判断一个三位数是否是水仙花数,它的历史可以追溯到公元前前200年,也是最近才能用计算机来快速检查出来的,它的概念的功能风险极具吸引力。