第一题<!-- 定义一个函数,该函数可以接收一个数据(即实参)。该函数的功能是判断该数据是否是一个整数或整数字符串。如果是,则返回true,否则返回false
测试用例:1, 1.23, 0, -1, “123”, “1.23”, “-1.23”, “abc”, “”; -->
<?php
function isint($s)
{if(is_numeric($s)){$s+=0;if(is_int($s)){return true;}else{return false;}}else{return false;}
}
var_dump(isint(1));
var_dump(isint(1.23));
var_dump(isint(0));
var_dump(isint(-1));
var_dump(isint('123'));
....?>
作业题2
<!-- 定义一个函数,该函数能够判断一个数字是否是一个素数(也叫质数),是就返回true,否则就返回false。并利用该函数的功能,输出2-200之间的所有素数。
注:素数就是只能被1和它本身整除的数。——即只有两个可以整除的数--><?php function zishu($s){$count=0;for($i=1;$i<=$s;$i++){if($s%$i==0){$count++;}}if($count==2){return $s;}else{return false;}}
for($i=2;$i<=200;$i++){if(zishu($i)){echo $i.'<br>';}
}
?>
第三题
<!-- 有如下一个数列:1, 2, 3, 5, 8, 13, 21,....... 其规则是:前两个已知(即1和2),从第3个开始,其值为其左边两个值的和(此数列称为斐波那契数列)。定义一个函数,该函数可以求出该数列的任意第n个数的值。 -->
<!-- 1,2,3,5,81+2 (1-1)2+33=3 4=51+2 + 1+2+3-->
<?php function shu($n){if($n==1){return 1; }elseif($n==2){return 2;}else{$n=shu($n-1)+shu($n-2);return $n;}}
echo shu(5);?>
第四题
<?php
/*定义一个函数,该函数可以求两个正数的最小公倍数。——倍数就是能被一个数整除的数,最小公倍数就是能同时被这两个数整除的最小的那个。比如6和8的最小公倍数是24,15和20的最小公倍数是60。*/
function sgbs($m,$n)
{if(!is_int($m)||!is_int($n)){return false;}if($m<0||$n<0){return false;// return '不是正整数';}// 找最大的值$max = $m>=$n?$m:$n;// 找最小的值$min = $m<=$n?$m:$n;// max(m)大 就max+max... 当i能够除尽min(就是最小的数) 就是最小公约数for($i=$max;$i>=$max;$i+=$max){if($i%$min==0){return $i;}}
}
echo sgbs(12,8);?>