• 技术文章 >后端开发 >php教程

    php实现水仙花数的4个示例分享_php实例

    2016-06-07 17:21:05原创279
    示例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";
    }
    }

    ?>



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 水仙花数
    上一篇:php中stream(流)的用法_php实例 下一篇:php中cookie的使用方法_php实例
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• array怎样合并成这样,帮忙,该怎么处理 • urlencode转义字符串的有关问题 • 求destoon二次开发的学习资料,该如何处理 • Ajax实时刷新有关问题 • 50分~哪位高手有mysql5.0的windows下的安装包?上传一下~
    1/1

    PHP中文网