尊敬的读者,见文好。

本文包含以下内容:

1,为什么要写这篇文章!

2,具体的方案及代码实现!

3,你可能遇到的问题!

4,文末本文测试用源码网盘地址!

特殊说明:

本文使用的语言是PHP;

本文运行的环境是:Apache2.4, PHP5.6。

第一部分:为什么要写这篇文章!

因为经常会有人问到如何输出“水仙花数”,经查阅百度百科,不仅仅有“水仙花数”,还有很多有意思的数字!尝试写出了可以生成这些有趣数字的一个函数!有两种思路!

注:经过压测,第一种思路的执行效率要高于第二种!可见对于数据的处理效率要远远高于对于文字的处理的!

第二部分:具体的方案及代码实现!

第一种方案:

使用求余数加上php中的地板函数floor()来获取数字的每一位并进行数学运算!/**

* @author Lizisir <962310113@qq.com>

* 可以计算数字中具有特殊含义的数字

* @param  int $number 数字的位数

* @return null

*/

function specialNumber( $number )

{

$numberNameList = [

'独身数',

'没有',

'水仙花数',

'四叶玫瑰数',

'五角星数',

'六合数',

'北斗×××数',

'八仙数',

'九九重阳数',

'十全十美数'

];

// 输出对应的特殊数字的名称 例如:水仙花数

echo $numberNameList[ $number-1 ].":
";

$start = pow( 10, $number-1 ) + 1;

$end = pow( 10, $number );

for ( $i = $start; $i

{

// 接受数字每位的n次幂的和

$sum = 0;

// 目标数字

$aimNumber = $i;

// 计算数字每位的n次幂的和

while( $aimNumber != 0 )

{

// 获取每一位的数字

$wei = $aimNumber % 10;

// 计算每一位的n次幂并加到和上面

$sum += pow( $wei, $number );

// 去掉末尾数字

$aimNumber = floor( $aimNumber / 10 );

}

if( $i == $sum )

{

echo $i;

echo "
";

}

}

}

第二种方案:

利用PHP中可以把字符串当数组处理的好处,先把数据转化成字符串,利用下标直接取出每一位 并进行运算!/**

* @author Lizisir <962310113@qq.com>

* 可以计算数字中具有特殊含义的数字

* @param  int $number 数字的位数

* @return null

*/

function specialNumber( $number )

{

$numberNameList = [

'独身数',

'没有',

'水仙花数',

'四叶玫瑰数',

'五角星数',

'六合数',

'北斗×××数',

'八仙数',

'九九重阳数',

'十全十美数'

];

// 输出对应的特殊数字的名称 例如:水仙花数

echo $numberNameList[ $number-1 ].":
";

$start = pow( 10, $number-1 ) + 1;

$end = pow( 10, $number );

for ( $i = $start; $i

{

// 接受数字每位的n次幂的和

$sum = 0;

// 计算数字每位的n次幂的和

$i = (string)$i;

for($key=0; $key

{

// 获取每一位的数字

$wei = $i[$key];

// 计算每一位的n次幂并加到和上面

$sum += pow( $wei, $number );

}

if( $i == $sum )

{

echo $i;

echo "
";

}

}

}

第三部分:你可能会遇到的问题!

在代码测试时,你可能会遇到报错:

Fatal error:  Maximum execution time of 30 seconds exceeded

可行的一种解决方案:

进入到PHP的安装目录,修改php.ini文件:

找到:

max_execution_time=30

修改为:

max_execution_time=300或者更大值!

第四部分:本文代码的网盘地址!

链接:http://pan.baidu.com/s/1mhY7hMw

密码:74hq

php如何做水仙花数,使用PHP实现水仙花数及各种特殊有趣数的输出相关推荐

  1. 输出所有的“水仙花数”,所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。

    题目来源: C语言程序设计(第四版)/ 第五章 / 习题5.3 题目要求: 输出所有的"水仙花数",所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身.例如153就是一个水 ...

  2. 打印出所有的水仙花数javascript_习题4-6 水仙花数 (20分)

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=1​3​​+5​3​​+3​3​​. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给 ...

  3. 求两个数之间的水仙花数.c语言,求水仙花数(C语言/Java)

    求出0-999999之间的所有"水仙花数"并输出. "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身, 如:153=1 ^ 3+5 ^ 3+3 ^ ...

  4. python中如何求水仙花数_python如何求水仙花数?

    水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armst ...

  5. c语言水仙花数简书,2010 水仙花数 java

    水仙花数 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...

  6. 用Java编写程序,输入一个数,并且输出这个数以内的所有的水仙花数,所谓的水仙花数是值一个3位数,其各个位上数立方和等于其本身。

    import java.util.Scanner;public class Miss {public static void main(String args[]) { Scanner sc=new ...

  7. 水仙花数python代码for_水仙花数如何用python代码表示?

    水仙花数如何用python代码表示? 水仙花数的python代码为: 水仙花数是指一个3位正整数,它的每个位上的数字的3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) 下面用一 ...

  8. java实现求二十一位水仙花数(21位水仙花数)

    一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水 ...

  9. 判断水仙花数 php,php 判断 水仙花数

    水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armst ...

最新文章

  1. 2023年中国AI论文影响力超越美国?网友:长期看,数量不等于质量
  2. 点权生成树(gentree)
  3. 【Karma】多环境自动测试框架 -- 基础教程
  4. mysql的多master调度_innodb中master线程的调度的算法改进(mysql 5.6.26)
  5. c++ why can't class template hide its implementation in cpp file?
  6. c++二进制转十进制_二进制,八进制,十进制,十六进制转换详解~
  7. 20175223 MySQL
  8. 深入解析java web_java进阶--深入分析java Web
  9. ThinkPHP5.0源码学习之框架启动流程
  10. 图像的抽线、抽丝、抽图 神马是alpha通道
  11. error40无法打开到sql_SQL-mysql游标与触发器
  12. ServiceManager 进程启动源码分析
  13. JDK5新版RMI编程指南
  14. python语言中print函数的作用_[转载]python中的@符号的作用
  15. 2022苹果CMS全新二开影视源码App源码完整版
  16. vmware 删除后安装不了,‍vmware workstation.msi failed
  17. 画法几何,工程制图基础.....多角度平面投影图推断立体空间结构,实际距离的判别等
  18. SU2021下载SketchUp2021最新下载安装教程SU草图大师2021下载安装
  19. javascript 知识点总结
  20. Domino未来三年的版本

热门文章

  1. linux下为php开启oci8扩展(ubuntu14亲测可用)
  2. IOS的UIPickerView 和UIDatePicker
  3. 实用的网站***步骤
  4. 搜索引擎的强大意味着与之合作就会双赢?
  5. 使用Mybatis-plus更新null字段的解决方案
  6. linux下安装nginx的采坑记录
  7. mysql常见错误及解决办法_mysql常见错误代码、原因及处理办法
  8. dell台式机进入安全模式_打造未来高效办公体验 华为首款商用台式机正式发布...
  9. jitter单位_产生jitter的原因
  10. maven + sonar, gradle + sonar