What is the daffodil number in php

藏色散人
Release: 2023-02-24 08:08:02
Original
5979 people have browsed it

What is the daffodil number in php

phpWhat is the number of daffodils?

The so-called "daffodil number" refers to an n-digit number (n≥3), the sum of the nth power of the numbers in each digit is equal to itself.

PHP program for finding the number of daffodils, there are many ways to write it:

Method Example 1:

<?php
header("content-type:text/html;charset=utf-8;"); //设置页面编码为 utf-8
//以下代码求解1000以内的水仙花数
echo &#39;<p>1000以内的水仙花数: </p>&#39;;
for ( $i = 100; $i < 1000; ++ $i )
{
    $hundreds = floor( $i / 100);    //分解出百位
    $tens = floor( $i / 10 ) % 10;   //分解出十位
    $ones = floor( $i % 10 );        //分解出个位
    if (bcpow($hundreds,&#39;3&#39;)+bcpow($tens,&#39;3&#39;)+bcpow($ones,&#39;3&#39;) == $i)
        echo $i."";
}
?>
Copy after login

Output:

1000以内的水仙花数:
153
370
371
407
Copy after login

Method example two:

<?php
for($q=1;$q<=9;$q++){
    for($w=0;$w<=9;$w++){
        for($e=0;$e<=9;$e++){
            if($q*$q*$q + $w*$w*$w + $e*$e*$e ==
                100*$q + 10*$w + $e){
                echo "$q$w$e"."<p>";
            }
        }
    }
}
Copy after login

Output:

153
370
371
407
Copy after login

Method example three:

<?php
function cube( $n )
{
    return $n * $n * $n;
}

function is_narcissistic ( $n )
{
    $hundreds = floor( $n / 100);    //分解出百位
    $tens = floor( $n / 10 ) % 10;    //分解出十位
    $ones = floor( $n % 10 );    //分解出个位
    return (bool)(cube($hundreds)+cube($tens)+cube($ones) == $n);
}


for ( $i = 100; $i < 1000; ++ $i )
{
    if ( is_narcissistic($i) )
        echo $i."\n";
}
Copy after login

Method example four :

<?php
//阿姆斯特朗数:一个k位数,它的每个位上的数字的k次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
class Armstrong {
    static function index(){
        for ( $i = 100; $i < 100000; $i++ ) {
            echo self::is_armstrong($i) ? $i . &#39;<br>&#39; : &#39;&#39;;
        }
    }
    static function is_armstrong($num){
        $s = 0;
        $k = strlen($num);
        $d = str_split($num);
        foreach ($d as $r) {
            $s += bcpow($r, $k);
        }
        return $num == $s;
    }
}
Armstrong::index();
Copy after login

Output:

153
370
371
407
1634
8208
9474
54748
92727
93084
Copy after login

Method example five:

<html>
<head>
<title></title>
</head>
<body>
<?php
function winter($num)
{
if($num<1000){
//定义个位
$ge=$num%10;
//定义十位
$ten=(($num%100)-$ge) /10;
//定义百位
/*floor取整,忽略小数点后面的所有数*/
$hundred=floor($num/100);
$sum1=$ge*$ge*$ge+$ten*$ten*$ten+$hundred*$hundred*$hundred;
if($sum1==$num){
return 1;
} else{
return 0;
}
} else{
return -1;
}
}
if(winter(371)==-1) {
echo "大于1000的数";
}else{
if(winter(371)) {
echo "Yes";
}
else{
echo "No";
}
}
?>
</body>
</html>
Copy after login

Output:

Yes
Copy after login

Related recommendations: " PHP Tutorial

The above is the detailed content of What is the daffodil number in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template