ITP1_3_D: How Many Divisors? (python)
問題
約数の数
3つの整数 a、b、c を読み込み、a から b までの整数の中に、
c の約数がいくつあるかを求めるプログラムを作成してください。
Input
a、b、c が1つの空白区切りで1行に与えられます。
Output
約数の数を1行に出力してください。
Constraints
・1≤a,b,c≤100001≤a,b,c≤10000
・a≤b
回答
a,b,c = map(int,raw_input().split()) cnt = 0 for d in range(a,b+1): if c%d==0: cnt+=1 print(cnt)
説明
a,b,c: リストにint型に変換しつつ値を格納。
cnt: 約数カウント用の変数を初期化
d: cを割る値(a〜bの値を入れる)
range(a,b+1): a〜bの値までをリストで返す
※range関数ではbと指定すると、a〜(b-1)
までの値を返すので、b+1としている。
if文: ループ時のdでcが割り切れるなら、約数と判断してcntに+1する。
print: cの約数の数であるcntを表示。
雑感
約数の定義ってなんだっけ、から始まりました、、、
数学勉強し直す意味でもAOJやってて楽しいです。