php用面向对象写出水仙花数,php实现水仙花数的4个示例代码

本文提供了四个PHP代码示例,详细解释如何使用面向对象编程来判断水仙花数。水仙花数是指一个n位数,其每个位上的数字的n次幂之和等于它本身。示例包括循环法、函数判断法、类方法以及更复杂场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php实现水仙花数的4个示例代码

发布于 2014-11-24 07:16:02 | 234 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文为大家整理的是php实现水仙花数的4个示例代码,感兴趣的同学参考下.

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 3^3+ 5^3 = 153)

示例1:

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:

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:

//阿姆斯特朗数:一个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 . '
' : '';

}

}

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:

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

}

}

?>

相关阅读:

php实现水仙花数的4个示例代码

php实现百度的自动ping示例代码

php实现水仙花数示例

php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子

php抓取原创url内容的三个示例代码

php模拟服务器实现autoindex效果的方法及示例代码

详解PHP实现异步调用的4种方法

利用PHP实现一个简单的用户登记表示例

php实现基于PDO的预处理示例

php操作mysql数据库的基本类示例代码

php实现邮件发送并带有附件示例代码

PHP实现zip与rar解压缩示例代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值