我正在测试我的测试用例,以检查数字是否为奇数或偶数,当我的数字为3时,它显示奇数,但数字为24,则仍将数字显示为奇数。
我正在使用Divide模块检查奇偶数。请看一下代码,让我知道我在哪里出错:
<?php
$stdin = fopen("php://stdin", "r");
fscanf($stdin, "%d\n", $N);
fclose($stdin);
if($stdin / 2 != 0){
print("Weird");
}
else{
if(($stdin >= 2) && ($stdin <= 5)){
print("Not Weird");
}
elseif(($stdin >= 6) && ($stdin <= 20)){
print("Weird");
}
elseif($stdin > 20){
print("Not Weird");
}
}
答案 0 :(得分:0)
使用模块运算符%
代替除法
https://www.php.net/manual/en/internals2.opcodes.mod.php
24/2 = 12所以不会是0
24%2 = 0,因为它会计算余数(等分后剩下的东西)
23%2 = 1(由于等分后,我们将剩下1