ホームページ > バックエンド開発 > PHPチュートリアル > 水仙数の PHP 実装の 4 つの例

水仙数の PHP 実装の 4 つの例

WBOY
リリース: 2016-07-25 09:13:01
オリジナル
1820 人が閲覧しました

水仙番号とは何ですか?

水仙番号とは、n 桁の数字 (n ≥ 3) を指し、各桁の n 乗の合計がそれ自体に等しくなります。 (例: 1^3 + 3^3+ 5^3 = 153)、この記事では、PHP で水仙数を実装する例を 4 つ集めます。

例 1、PHP は水仙の数を実装します。

  1. for($q=1;$q<=9;$q++){
  2. for($w=0;$w<=9;$w++){
  3. for($ e=0;$e<=9;$e++){
  4. if($q*$q*$q + $w*$w*$w + $e*$e*$e ==
  5. 100*$q + 10*$w + $e){
  6. echo "$q $w $e "."

    ";

  7. }
  8. }
  9. }
  10. }
  11. ?>
コードをコピー

例2. PHP は水仙の数を実装します。

  1. function cube( $n )

  2. {
  3. return $n * $n * $n;
  4. }

  5. function is_narcissistic ( $n )

  6. {
  7. $hundreds = Floor( $n / 100); //百の位を分解します
  8. $tens = Floor( $n / 10 ) % 10 //十の位を分解します
  9. $ones = Floor( $ n % 10 ); //一の位を分解します
  10. return (bool)(cube($hundreds)+cube($tens)+cube($ones) == $n);
  11. }
  12. for ( $i = 100; $i {
  13. if ( is_narcissistic($i) )
  14. echo $i."n";
  15. }
  16. ?>
コードをコピー
例 3、php は水仙の数を実装します。

  1. //アームストロング数: k 桁の数値。各桁の数値の k 乗の合計はそれ自体に等しい。 (例: 1^3 + 5^3 + 3^3 = 153)
  2. class Armstrong {
  3. static function Index(){
  4. for ( $i = 100; $i <100000; $i++ ) {
  5. echo self: :is_armstrong($i) ? $i : '';
  6. }
  7. }
  8. $s = 0;
  9. $k = strlen($num);
  10. $d = str_split($num);
  11. foreach ($d as $r) {
  12. $s += bcpow($r, $k);
  13. }
  14. return $num == $s;
  15. }
  16. }
  17. アームストロング::index();
コードをコピー
例 4、PHP は水仙番号を実装します。

    ;?php
  1. function Winter($num)
  2. {
  3. if($num<1000){
  4. //1 の位を定義します
  5. $ge=$num%10;
  6. //定義十の位
  7. $ten=(($num %100)-$ge) /10;
  8. //百の位を定義します
  9. /*小数点以下を四捨五入し、小数点以下をすべて無視します*/
  10. $hundred=floor($num /100);
  11. $sum1=$ge* $ge*$ge+$ten*$ten*$ten+$hundred*$hundred*$hundred;
  12. if($sum1==$num){
  13. return 1;
  14. } else{
  15. return 0;
  16. }
  17. } else {
  18. return -1;
  19. }
  20. }
  21. if(Winter(371)==-1) {
  22. echo "1000 より大きい数値";
  23. }else{
  24. if (冬(371)) {
  25. echo "はい" ;
  26. }
  27. else{
  28. echo "いいえ";
  29. }
  30. }
  31. ?>
  32. コードをコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート