php实现水仙花数的4个示例分享_php教程-查字典教程网
php实现水仙花数的4个示例分享
php实现水仙花数的4个示例分享
发布时间:2016-12-29 来源:查字典编辑
摘要:示例1:复制代码代码如下:示例2:复制代码代码如下:示例3:复制代码代码如下:

示例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 . '<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教程学习
    编程开发子分类