>백엔드 개발 >PHP 튜토리얼 >PHP에서 수선화 수를 구현하는 방법에 대한 4가지 예. 1000 이내의 수선화 수. 수선화를 출력하기 위한 VBC 언어의 수선화 수입니다.

PHP에서 수선화 수를 구현하는 방법에 대한 4가지 예. 1000 이내의 수선화 수. 수선화를 출력하기 위한 VBC 언어의 수선화 수입니다.

WBOY
WBOY원래의
2016-07-29 08:49:513690검색

나르키소스 숫자는 n자리 숫자(n≥3)를 의미하며, 각 숫자의 n제곱의 합은 그 자체와 같습니다. (예: 1^3 + 3^3+ 5^3 = 153) 이 기사에서는 PHP에서 수선화 수를 구현하는 방법에 대한 4가지 예제를 주로 소개합니다. 필요한 친구는 다음을 참조할 수 있습니다.

예제 1 , 코드는 다음과 같습니다.

<?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>";
        }
      }
    }
}
?>

예시 2, 코드는 다음과 같습니다.

<?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";
}
?>
예제 3, 코드는 다음과 같습니다.

<?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>' : '';
  }
 }
 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();

예제 4 , 코드는 다음과 같습니다.

<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>

위는 수선화 수와 PHP 내용을 포함하여 PHP에서 수선화 수를 구현하는 방법에 대한 4가지 예를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.