Python
def prime_factorization(n):
"""
与えられた整数の素因数分解を行う関数
Args:
n: 素因数分解対象の整数
Returns:
nの素因数分解結果をリストで返します。
"""
if n <= 1:
return []
primes = []
for i in range(2, int(n**0.5) + 1):
while n % i == 0:
primes.append(i)
n //= i
primes.append(n)
return primes
def main():
"""
メイン処理
"""
n = int(input("素因数分解したい整数を 입력하세요: "))
primes = prime_factorization(n)
if not primes:
print(f"{n} は素数です")
else:
print(f"{n} の素因数分解: ", end="")
for i, prime in enumerate(primes):
if i == len(primes) - 1:
print(prime)
else:
print(f"{prime} * ", end="")
if __name__ == "__main__":
main()
このコードは、以下の機能を提供します。
- 整数を入力する:
input()
関数を使用して、ユーザーから整数を 입력받습니다。 - 素因数分解を行う:
prime_factorization()
関数を使用して、入力された整数の素因数分解を行います。この関数は、以下の処理を行います。- 与えられた整数が 1 以下の場合は、空のリストを返します。
- 2 から √n までの整数を順に試して、割り切れるものがあれば、その素数をリストに追加し、n をその素数で割ります。
- n が 1 になるまで上記の処理を繰り返します。
- 最後に、素数リストを返します。
- 結果を表示する: 素因数分解結果をコンソールに表示します。
- n が素数の場合は、
n は素数です
と表示します。 - n が合成数の場合は、
n の素因数分解:
と表示し、続いて素数をスペースで区切って表示します。
- n が素数の場合は、
このコードは、以下の点に注意して作成されています。
- シンプルで分かりやすいコードであること
- 効率的なアルゴリズムを使用していること
- エラー処理を行っていること
このコードをさらに改善するには、以下のことが考えられます。
- より大きな整数の素因数分解に対応できるようにする
- エラーメッセージをより詳細にする
- コードをより簡潔にする
このコードは、Python で素因数分解を行うための基本的な例です。ご自身のニーズに合わせて、自由に改造してください。
0 件のコメント:
コメントを投稿