約数を求めるコードを書いてみる
Hacker Rankを解いているうちに約数を求めないと解けない問題が出てきました。
そこで、今回はそのコードをメモ程度に載っけておきたいと思います。
a=[]
num=30
for i in range(1,num):
if num%i==0:
a.append(i)
print(a)
# 実行結果 [1, 2, 3, 5, 6, 10, 15]
はい、こんな感じですね。
とても簡単です。
一応説明すると、約数は元の数字を割り切れる数字のことなので、元の数字つまり、ここではnumを割った時にあまりが0になればいいわけです。
そこで
for i in range(1,num):
if num%i==0:
a.append(i)
こいつの登場です。
rangeを用いて今回でいうと1~numの数字をつまり1~30の数字をiに格納していき、ひたすらnum%iという処理を繰り返します。
その中で、答えが0になるものを先に作っておいたaというリストに入れていきます。
そして、最終的にprintで出力しています。
まとめ
はい、こんな感じで、僕は約数を求めることに成功しました。
まぁ、僕が考えたわけではないですが・・・笑
しかし、この約数を求めるコードはこれからも応用していけそうなので、しっかり覚えておきます!