tritue.edu.vn


Số lượng chữ số 0 ở cuối của n! (n<10^7)

Kiến thức toán học:

  • Một số 0 cuối được tạo bởi 10
  • vì 10 = 2 × 5
  • Trong n!, số lượng số 2 luôn nhiều hơn số lượng số 5
  • Do đó số lượng số 0 (S0) phụ thuộc vào số lượng số 5

Công thức tổng quát:

S0 = n//51 + n//52 + n//53 + ...n//5k+.... đến khi 5k>n

Ví dụ 1: n=5 (5!=120): S0 = 5//5  = 1 => đúng

Ví dụ 2: n=10 (10!=3628800): S0 = 10//5 = 2 => đúng

Ví dụ 3: n=69 (69!=17112245242814131137246833888127

                               28390922705448935203693936480409

                               23257279754140647424000000000000000):

S0 = 69//5 + 69//5= 13 + 2 = 15 => đúng

 

 

 



Code minh họa

Copy
         
n=int(input("n= "))
s0=0
k=1
while 5**k <= n:
    s0 += n//5**k
    k+=1

print(f"Số chữ số 0 của n!: {s0}")





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

Bài viết liên quan