paizaラーニングのレベルアップ問題集「素数メニュー」からの出典です。
paiza.jp
Pythonによる「素数メニュー」問題集: 最小公倍数 と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 素因数分解
''' Pythonによる「素数メニュー」問題集: 最小公倍数 STEP: 1 素因数分解 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) num = n; i = 2 while(i < n+1): if num%i == 0: num = num/i print(i) else: i+=1
・STEP: 2 約数の個数
''' Pythonによる「素数メニュー」問題集: 最小公倍数 STEP: 2 約数の個数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) num = n; ans = 1 cnt = 0 i = 2 while(i <= n): if num%i == 0: num = num/i cnt+=1 else: i+=1 ans*=(cnt+1) cnt = 0 print(ans)
・ STEP: 3 最大公約数
''' Pythonによる「素数メニュー」問題集: 最小公倍数 STEP: 3 最大公約数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 import math n = int(input()) ans = int(input()) for i in range(n-1): b = int(input()) ans = math.gcd(ans, b) print(ans)
・FINAL問題: 最小公倍数
''' Pythonによる「素数メニュー」問題集: 最小公倍数 FINAL問題: 最小公倍数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 import math def lcm(ans, b): return int(ans*b / math.gcd(ans, b)) n = int(input()) ans = int(input()) for i in range(n-1): b = int(input()) ans = lcm(ans, b) print(ans)
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。