LH Quảng cáo: lazijsc@gmail.com

Bài tập  /  Bài đang cần trả lời

Trong giờ ra chơi Tèo đố Tí bài toán như sau: “Cho số nguyên dương n. Hãy tạo ra một số nguyên m bằng cách viết lên tiếp nhau các số nguyên từ 1 đến n, rồi tiến hành thu gọn m bằng cách lần lượt xóa tất cả các chữ số ở vị trí chẵn, sau đó xóa tất cả các chữ số ở vị trí lẻ, rồi lại xóa các chữ số ở vị trí chẵn, ... cho đến khi chỉ còn lại một chữ số. Hãy tìm chữ số cuối cùng còn lại”

python
 
----- Nội dung dịch tự động từ ảnh -----
Trong giờ ra chơi Tèo đố Tí bài toán như sau: “Cho số nguyên dương n. Hãy tạo ra một số
nguyên m bằng cách viết lên tiếp nhau các số nguyên từ 1 đến n, rồi tiến hành thu gọn m
bằng cách lần lượt xóa tất cả các chữ số ở vị trí chẵn, sau đó xóa tất cả các chữ số ở vị trí lẻ,
rồi lại xóa các chữ số ở vị trí chẵn, ... cho đến khi chỉ còn lại một chữ số. Hãy tìm chữ số
cuối cùng còn lại”.
Yêu cầu: Cho trước một số nguyên dương n, em hãy giúp Tèo tìm chữ số như trên.
Dữ liệu vào: Cho trong tệp văn bản DIGIT.INP gồm một số nguyên dương n (n≤ 10').
Kết quả: Xuất ra tệp văn bản DIGIT.OUT chữ số tìm được.
Ví dụ:
DIGIT.INP
DIGIT.OUT
| 11
0
Giải thích: n=11 > m=1234567891011 > xóa các chữ số ở vị trí chẵn, m=1357901 > xóa
tiếp các chữ số ở vị trí lẻ, m=370 > xóa tiếp các chữ số ở vị trí chẵn, m=30 – xóa tiếp các
chữ số ở vị trí lẻ, m=0 là chữ số còn lại cuối cùng.
1 trả lời
Hỏi chi tiết
98
1
0
GUNTER OBERDORF ...
04/02 21:27:04
+5đ tặng
def find_last_digit(n):
    # Tạo ra số nguyên m bằng cách viết lên tiếp nhau các số nguyên từ 1 đến n
    m = ''.join(str(i) for i in range(1, n+1))

    # Tiến hành thu gọn m
    while len(m) > 1:
        # Xóa tất cả các chữ số ở vị trí chẵn
        m = m[::2]
        if len(m) == 1:
            break
        # Xóa tất cả các chữ số ở vị trí lẻ
        m = m[1::2]

    # Trả về chữ số cuối cùng còn lại
    return int(m)

# Đọc dữ liệu từ tệp
with open('DIGIT.INP', 'r') as file:
    n = int(file.read().strip())

# Tìm chữ số cuối cùng còn lại
last_digit = find_last_digit(n)

# Xuất kết quả ra tệp
with open('DIGIT.OUT', 'w') as file:
    file.write(str(last_digit))

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư