sktromboneのぶろぐ

好きな時に好きなものを

ルジャンドルの定理を使ってみた話

どうも、Keiです。

昨日、ルジャンドルの定理というものに出会いました。

こんなやつです。

mathtrain.jp

 

せっかくなのでルジャンドルの定理を使ってpythonでn!に末尾にゼロが何個あるかを計算するプログラムを作りました。

 

普通に書くなら、forを回して、素因数の5が何個あるかを計算すれば良いのですが、

def fact(n):
 p=5
 ans=0
 while(p<n):
  ans+=int(n/p)
  p*=5
 return ans

 

のようにすればルジャンドルの定理を用いて計算することができます。

 

たいしたことはないし、なんなら普通にやったほうが早いかもしれませんが、別解としてはありかなと思います。

 

ではでは。