编程与数学2 编程找出200以内数的所有因数
2018-10-18 本文已影响0人
一粟01
利用PHP编程,找出1至200(任意整数区间)所有数的所有因数
题
找出某数的所有因数
编程思考
这道题,我用PHP编程,找出了所有数的所有因数。程序代码部分,只有20多行,如图:
图1 PHP编写的程序
代码
<?php
if($_GET['min']) $min = $_GET['min'];else $min = 1;
if($_GET['max']) $max = $_GET['max'];else $max = 1;
echo "找";echo $_GET['min'];if($_GET['min']) echo "~";echo $_GET['max'];echo "因数";echo "<br />";
echo "(如果只显示了1的因数,请在网址后面粘贴:?min=1&max=200";echo "<br />";
echo "其中,1是最小的数,200是最大的数,可以修改数字。)";echo "<br />";
for($i=$min;$i<=$max;$i++){
$sqri=sqrt($i);
$temp=array();
echo $i;echo "的因数有";
for($j=1;$j<=$sqri ;$j++ ){
if($i % $j == 0){
array_push($temp,$j);
if($j<>$i/$j) array_push($temp,$i/$j);
}
}
sort($temp);
echo count($temp)."个,分别是:";
for($k=0;$k<count($temp) ; $k++){
if($k>0 and $k<>count($temp)) echo ",";
echo $temp[$k];
}
echo " <br /> ";
}
?>
代码解析
我用两个GET变量分别存储整数的范围,从min(最小数)到max(最大数),找给定范围的每个数的所有因数。输出时每个数的因数用一行显示,并提示这个数有几个因数。
答案
程序运行结果:1~200所有数的所有因数最小数最大数的设置
改变地址栏中min、max的值。例如,要查找12至26所有数的因数,只要将地址中的“?min=1&max=200”,改成“?min=12&max=26”,即可。
12~26所有数的所有因数