PHPでの約数の求め方と+α
ご無沙汰です。 Matthewです。
最近よく競プロ(競技プログラミング)というものにはまっております。
表題の件が以前出題された為、少しでも誰かのお役に立てると良いなと思い、このような内容の記事を作成いたしました。
基本的にはfor文で使い回しとなる為、型さえ覚えていれば解けるかと思われますので、もしfor文が怪しいという方がいらっしゃいましたら、参考にしてもらえると幸いです。
// この数字は約数がいくつあるかを求めたい数字を適宜変更お願いします。
$num = 90;
$a = 0;
for($i=1; $i <= $num; $i++){
if($num%$i==0){
$a += $i;
}
}
print $a;
この$aには約数の総和が含まれております。
つまり、今回でいう90の約数を全て足した和が入っているということになります。
例えば、いくつ約数があるのかを知りたいという場合、
$a += $i;の$iの箇所を++あるいは+= 1と変更をすれば良いとなります。
$num = 90;
$a = 0;
for($i=1; $i <= $num; $i++){
if($num%$i==0){
$a += 1;
// この上のコードを変更済み。
}
}
print $a;
すごい簡易的な内容となりましたが、少しでもお役にたてると嬉しいです。
定期的にこのような基本的な使い方などは自分の備忘録含めて、適宜更新をしていきますので、お暇がありましたら、見てもらえると励みになります!