tritue.edu.vn


Tính số chữ số của n!

Cho số nguyên dương n (n<107), hãy 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

Copy
         
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)))



Link chia sẻ bài viết
Copy
            https://tritue.edu.vn/tuecode/tracnghiem30/site/data/YVdRc01qUXdMRjl5YjNWMFpTeGlZV2wyYVdWMEwzQnZjM1F2ZG1sbGR3PT0%3D         

Bài viết liên quan