LDIGIT1 - Chữ số cuối cùng 1

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Viết chương trình tìm chữ số cuối cùng khác ~0~ của ~n!~ (giai thừa của ~n~)

Input

  • Số nguyên không âm ~n~

Giới hạn

  • ~0 \le n \le 10000~

Output

  • Chữ số cuối cùng có giá trị khác 0 của ~n!~

Sample

Input #1
4
Output #1
4
Input #2
10
Output #2
8

Hint

  • 4! = 24. Do đó chữ số cuối cùng khác 0 là 4
  • 10! = 3628800.Do đó chữ số cuối cùng khác 0 là 8
  • Vì ~n~ có thể lên tới ~10000~, nếu trực tiếp tính giá trị giai thừa của ~n~ có thể sẽ bị tràn số. Hãy thử tìm giải pháp khác xem sao.

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    thangok  đã bình luận lúc 18, Tháng 4, 2024, 8:26

    h


    • 0
      haidang3004  đã bình luận lúc 18, Tháng 4, 2024, 13:08

      sau khi tính giai thừa thì mình chia dư cho 1 số nào đó


  • 0
    LiuChi_3007  đã bình luận lúc 10, Tháng 3, 2024, 15:36

    code python nhaa! from math import * if name == "main": n = int(input()) x = factorial(n) y = str(x) for i in range(len(y)-1,-1,-1): if y[i] != '0': print(y[i]) break


  • 2
    hohoanghai5042011  đã bình luận lúc 28, Tháng 1, 2024, 2:01

    #include <bits/stdc++.h>

    using namespace std; long long n,s,i,j; int main(){ cin>>n; s=1; for(i=1;i<=n;i++){ s=s*i; j=i; while(j%5==0){ s=s/10; j=j/5; } s=s%1000000; } cout<<s%10; }

    full ac nguồn của thầy Jimmy Hồ