Số siêu lẻ

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Python, Scratch

Số siêu lẻ là số tự nhiên chỉ chứa các chữ số lẻ ~(1, 3, 5, 7, 9)~. Ví dụ: ~3~, ~19~, ~35~, ~197~ là các số siêu lẻ. Còn ~21~, ~189~, ~23345~ không phải vì có chứa chữ số chẵn.

Người ta viết liên tục các số siêu lẻ bắt đầu từ ~1~ tạo thành một dãy siêu lẻ dài vô tận:

$$13579111315171931333537395153...$$

Hãy tìm chữ số thứ ~K~ của dãy số trên.

Đầu vào
  • Một số nguyên dương ~K~ ~(K ≤ 10^{16})~.
Đầu ra
  • Ghi ra chữ số thứ ~K~ của dãy số.
Sample Input 1
5
Sample Output 1
9
Sample Input 2
14
Sample Output 2
1

Bình luận

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



  • 1
    Sae  đã bình luận lúc 20, Tháng 4, 2025, 2:44

    alo


  • 0
    ngominhnhat  đã bình luận lúc 20, Tháng 4, 2025, 2:43

    ok


  • -3
    buiducduy2014  đã bình luận lúc 20, Tháng 4, 2025, 2:43

    kk


  • -3
    buiducduy2014  đã bình luận lúc 20, Tháng 4, 2025, 2:42

    code mk lam


  • 0
    ngominhnhat  đã bình luận lúc 20, Tháng 4, 2025, 2:36

    def check(k): cs = ['1', '3', '5', '7', '9'] d = 1 t_cs = 0 pow5 = 5

    while True:
        digit_d = d * pow5
        if t_cs + digit_d >= k:
            break
        t_cs += digit_d
        d += 1
        pow5 *= 5
    
    ll = k - t_cs - 1  
    tg = ll // d   
    vttds = ll % d     
    
    ds = ""
    for i in range(d):
        pow5 = 5 ** (d - i - 1)
        vt = tg // pow5
        ds += cs[vt]
        tg %= pow5
    
    return ds[vttds]
    

    print(check(int(input()))) code nè


  • -3
    buiducduy2014  đã bình luận lúc 13, Tháng 4, 2025, 4:02

    sossss


  • -1
    Honglan08  đã bình luận lúc 5, Tháng 4, 2025, 2:30

    tịnh buôn


  • -1
    tinhvodich  đã bình luận lúc 5, Tháng 4, 2025, 2:27

    Ckhó ỨthếT


  • -1
    tinhvodich  đã bình luận lúc 5, Tháng 4, 2025, 2:26

    lan ăn ...


  • -2
    tom_tom_teve  đã bình luận lúc 25, Tháng 3, 2025, 11:10

    sos