AtCodeのビギナー用A問題をひたすら解いてます。
簡単なのでモチベーションあがります。
こうしたらOKだったよっていうのを載せます!
(ダメだったよ!ってのも載せてます)
AtCoder Beginner Contest 273
nの階乗を回答する問題だったので、関数fを作ったのですが、
制限時間の2秒を超えるケースが2つ発生しました><
def f(n):
if n-1==0:
return 1#f(0)
else:
return n*f(n-1)#関数fを再帰する
n=int(input())
print(f(n))
行き詰ってコード解説を確認したら、n!を一発で計算する関数math.factorial(n)を利用するコードが紹介されていました。
Pythonのリファレンスで確認してみたら、「n の階乗を整数で返します。n が整数でないか、負の数の場合は、 ValueError を送出します。」と説明が。。。
そのまんまや。
ライブラリもどんなことができるのか、どんどん知識をためないとなぁと思った瞬間。
import math
n=int(input())
print(math.factorial(n))