PHP実験室
完全数感知器
説明
完全数とは、その数自身を除く約数の和が、その数自身と等しい自然数のこと。
具体的には、6=1+2+3, 28=1+2+4+7+14 などが完全数です。
ここでは入力した数字が完全数であるかを調べます。
たったこれだけだけどかなり苦労したツールです(笑)
サンプル
は、完全数です
スクリプト
htmlの前にこれ
<?php
$num="";
$num1="";
$num2="";
$num3="";
$i="";
?>
bodyにこれ
<form action="perfect.php" method="post">
<input type="text" name="num" /> :2〜1000までの整数(半角)<br />
<input type="submit" value="開始" />
</form>
<?php
$num=$_POST["num"];
echo $num."は、";
if($num<0||1001>$num||$num==""){
for($i=1;$i<$num;$i++){
$num1=$num % $i;
switch($num1){
case "0":
$num2[$i]=$i;
break;
case "1":
$num2[$i]=0;
break;
default:
$num2[$i]=0;
}
}
for($i=1;$i<$num;$i++){
$num3+=$num2[$i];
}
if($num==$num3){
echo "完全数です";
}else{
echo "完全数ではありません";
}
}
?>
メニュー