首页 > 其他 > 详细

水仙花

时间:2019-07-09 17:47:57      阅读:77      评论:0      收藏:0      [点我收藏+]

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。

编写一个php函数测试输入的数字是否为水仙花数。(提示:不能将数字当作字符串处理),函数原型为:

flower($n)  $n为任意正整数 返回 true/false

//找出范围内 所有位数一样的 数字
public function day2(){
//传入的参数
$num = 10000;
//存储符合要求的数组
$arr = [];
//循环数据
for($i=10;$i<=$num;$i++){
self::$ws = [];
$this->weishu($i);
$count = array_count_values(self::$ws);
if(sizeof($count) == 1){
$arr[] = $i;
}
}

print_r($arr);
}
public function shuixianhua(){
//输入的参数
$n = 153;

//分割个十百位数
$this->weishu($n);

//水仙花数判断
$gewei = self::$ws[0] * self::$ws[0] * self::$ws[0];
$shiwei = self::$ws[1]*self::$ws[1]*self::$ws[1];
$baiwei = self::$ws[2]*self::$ws[2]*self::$ws[2];
$num = $gewei + $shiwei + $baiwei;
if($num == $n){
return $n.‘是水仙花数!‘;
}else{
return $n.‘不是水仙花数!‘;
}
}
static $ws = [];
//计算输入的数值的每位数字
public function weishu($n){
if($n > 9){
self::$ws[] = $n % 10;
$this->weishu(intval($n/10));
}else{
self::$ws[] = $n;
}
}

//个位+百位=十位 的判断方法
public function panduan(){
$num = 456;

$gewei = $num % 10;
$shiwei = intval($num / 10) % 10;
$baiwei = intval($num / 100);

if($gewei+$baiwei == $shiwei){
echo ‘验证成功‘;
}else{
echo ‘验证失败‘;
}
}

 

水仙花

原文:https://www.cnblogs.com/songbao/p/11158886.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!