水仙番号とは何ですか?
水仙番号とは、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 "."
";
- }
- }
- }
- }
- ?>
-
コードをコピー
例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 {
- 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 : '';
- }
- }
- $s = 0;
- $k = strlen($num);
- $d = str_split($num);
- foreach ($d as $r) {
- $s += bcpow($r, $k);
- }
- return $num == $s;
- }
- }
- アームストロング::index();
-
コードをコピー 例 4、PHP は水仙番号を実装します。
;?php- function Winter($num)
- {
- if($num<1000){
- //1 の位を定義します
- $ge=$num%10;
- //定義十の位
- $ten=(($num %100)-$ge) /10;
- //百の位を定義します
- /*小数点以下を四捨五入し、小数点以下をすべて無視します*/
- $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 (冬(371)) {
- echo "はい" ;
- }
- else{
- echo "いいえ";
- }
- }
- ?>
-
-
- コードをコピー
-
-
-
-
|