PHP中的完美平方根

时间:2017-04-22 12:59:40

标签: php

我希望我的程序确定用户输入的两个整数是否是奇数,偶数和完美的正方形。

到目前为止,这是奇数和偶数:

<?php
$number = [$_POST["number_1","number_2" ];

for ($i=0; $i<10; $i++){
    if ($i %2==0);{
        echo "$i is even. <br>";
    }
    else {
        echo "$i is odd. <br>";
    }
}

所以它会显示:

  

x是奇数   x甚至是   等

但是如何添加代码以确定它是否是一个完美的正方形呢?如果它是一个完美的正方形,我希望它显示如下:

  

x是偶数和完美的正方形

3 个答案:

答案 0 :(得分:2)

sqrt()将返回一个浮点数,因此要检查它是否为整数,这使得它成为一个完美的正方形,您可以将其结果与floor()相同。

if (sqrt(9) == floor(sqrt(9)))
    echo "9 is a perfect square";

live demo告诉您这是有效的。

所以对你来说,那就是

for ($i=0; $i<10; $i++){
    if ($i %2==0) {
        echo "$i is even";
    }
    else {
        echo "$i is odd";
    }
    if (sqrt($i) == floor(sqrt($i)))
        echo " and is a perfect square";
    echo ".<br />";
}

live demo

答案 1 :(得分:1)

有一个功能:gmp_perfect_square。对于您的代码:

for($i=0; $i<10; $i++){
    if($i %2 == 0){
        echo "$i is even";
    }else{
        echo "$i is odd";
    }
    echo gmp_perfect_square($i) ? ' and a perfect square.<br>' : '.<br>';
}

输出:

  

0是均匀的,是一个完美的正方形   1是奇数和完美的正方形   2是偶数   3是奇怪的   4是均匀和完美的正方形   5是奇数   6是偶数   7是奇怪的   8是偶数   9是奇数和完美的正方形。

答案 2 :(得分:-1)

如果你想同时使用comman,你可以使用sqrt()函数。

is_int()将帮助您检查sqrt()返回的变量的数据类型     

for ($i=0; $i<10; $i++){
    $sqrt_status = "";
    if(is_int(sqrt($i))){
      $sqrt_status = "and a perfect square";
    }
    if ($i %2==0);{
        echo "$i is even $sqrt_status <br>";
    }
    else {
        echo "$i is odd $sqrt_status  <br>";
    }
}