Tính số chữ số của n!
- Ta thấy n! = a,..... x 10k => khi đó số chữ số của n! sẽ là k+1
- Lấy log10 2 vế ta được: log10(n!) = log10(a,... x 10k)
- Từ đó có: k = log10(n!) = log10(1.2.3....(n-1).n)) = log10(1)+log10(2)+.....+log10(n-1)+log10(n)
- sử dụng thư viện math trong python để tính log10: math.log10(...) bạn sẽ thư được kết quả
Code minh họa
import math
from math import factorial
n=int(input("n= "))
tonglog=0
for i in range(1, n+1):
tonglog += math.log10(i)
tonglog = math.floor(tonglog)
print(f"Số chữ số của n!: {tonglog+1}")
#gt= factorial(n)
#print(len(str(gt)))
https://tritue.edu.vn/tuecode/tracnghiem30/site/data/YVdRc01qUXdMRjl5YjNWMFpTeGlZV2wyYVdWMEwzQnZjM1F2ZG1sbGR3PT0%3D