• 水仙花


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

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

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

     1 //找出范围内 所有位数一样的 数字
     2 public function day2(){
     3    //传入的参数
     4    $num = 10000;
     5    //存储符合要求的数组
     6    $arr = [];
     7    //循环数据
     8    for($i=10;$i<=$num;$i++){
     9       self::$ws = [];
    10       $this->weishu($i);
    11       $count = array_count_values(self::$ws);
    12       if(sizeof($count) == 1){
    13          $arr[] = $i;
    14       }
    15    }
    16 
    17    print_r($arr);
    18 }
    19 public function shuixianhua(){
    20    //输入的参数
    21    $n = 153;
    22    
    23    //分割个十百位数
    24    $this->weishu($n);
    25    
    26    //水仙花数判断
    27    $gewei = self::$ws[0] * self::$ws[0] * self::$ws[0];
    28    $shiwei = self::$ws[1]*self::$ws[1]*self::$ws[1];
    29    $baiwei = self::$ws[2]*self::$ws[2]*self::$ws[2]; 
    30    $num = $gewei + $shiwei + $baiwei;
    31    if($num == $n){
    32       return $n.'是水仙花数!';
    33    }else{
    34       return $n.'不是水仙花数!';
    35    }
    36 }
    37 static $ws = [];
    38 //计算输入的数值的每位数字
    39 public function weishu($n){
    40    if($n > 9){
    41       self::$ws[] = $n % 10;
    42       $this->weishu(intval($n/10));
    43    }else{
    44       self::$ws[] = $n;
    45    }
    46 }
    47 
    48 //个位+百位=十位 的判断方法
    49 public function panduan(){
    50    $num = 456;
    51    
    52    $gewei = $num % 10;
    53    $shiwei = intval($num / 10) % 10;
    54    $baiwei = intval($num / 100);
    55    
    56    if($gewei+$baiwei == $shiwei){
    57       echo '验证成功';
    58    }else{
    59       echo '验证失败';
    60    }
    61 }
  • 相关阅读:
    IO基础
    集合框架
    数据结构基础
    进程和线程
    matlab绘制三维图形
    matlab figure 窗口最大化
    Matlab中的fread函数
    matlab中fopen 和 fprintf函数总结
    matlab中findstr,strfind,strcmp,strncmp区别与联系
    matlab取消和添加注释以及一些快捷键
  • 原文地址:https://www.cnblogs.com/songbao/p/11158886.html
Copyright © 2020-2023  润新知