[プログラマ](python)約数の和


質問する

説明する

def solution(n):
   return sum([i for i in range(1,n+1) if n%i==0])
+++

作成アルゴリズム

n = int(input())
divisor = []
for i in range(1, n+1):
    if n%i == 0:
        divisor.append(i)
に水を飲ませる
nを分離するには、1~nの値のみを保存します.
+++
  • 除数リスト変数を予め割り当てずにリストから直接sumを得る
  • +++
    ZeroDivisionError: integer division or modulo by zero
  • for i in range(n)初期作成時に発生したエラー
    値を0で除算しようとしたときに生成されます.
    range(1,n+1)に変更して解決します.