Make It Divisible By 6

Xem PDF

Nộp bài

Điểm: 800
Thời gian: 1.0s
PyPy3 0.5s
Python 3 0.5s
Scratch 5.0s
Bộ nhớ: 256M
PyPy3 128M
Python 3 128M
Scratch 512M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Cho một số N có tối đa 100 chữ số và không có chữ số 0 vô nghĩa nào ở đầu. Bạn được phép thực hiện thao tác sau:

  • Chọn một vị trí trong số N dưới dạng xâu kí tự (biết xâu kí tự này được đánh số bắt đầu từ 1). Xóa số đó khỏi xâu và trả xâu mới đó về lại dạng số, tạo ra số N mới. Nếu như số N ban đầu chỉ có 1 chữ số, thao tác này sẽ tự động đưa giá trị biến N trở về 0.

Ví dụ: Nếu N = 69420, với một thao tác thì các số N mới có thể là 9420 (xóa chữ số đầu), 6420 (xóa chữ số thứ hai), 6920 (xóa chữ số thứ ba), 6940 (xóa chữ số thứ tư, và 6942 (xóa chữ số thứ năm).

Hãy cho biết cần tối thiểu bao nhiêu lần thực hiện thao tác để tạo ra được một số N mới lớn nhất có thể sao cho N chia hết cho 6, và không có bất kì chữ số 0 vô nghĩa nào.

Input [standard]

  • Mỗi test bao gồm một số duy nhất là số N, có tối đa 100 chữ số (1≤N<10^{100}).

Output [standard]

  • In ra số X lớn nhất thỏa
    • X ≤ N;
    • X chia hết cho 6;
    • Số X có thể thu được bằng một chuỗi các thao tác trên lên số N

Scoring

  • 100\% số test có giới hạn như đề đã cho.

Example Tests

Example Test #1

INPUT

2

OUTPUT

0

Explanation

Ở test ví dụ số 1, 0/6=0.

Example Test #2

INPUT

1358

OUTPUT

138

Explanation

Ở test ví dụ số 2, 138/6=23.

Example Test #3

INPUT

69420

OUTPUT

69420

Explanation

Ở test ví dụ số 3, 69420/6=11570.


Bình luận


  • 0
    lebela2003a 5:30 a.m. 8 Tháng 6, 2024

    Mình chưa rõ lắm về các test sau:

    • Test 1: Input: 1906425586211438121; Output: 19064255621143812. Đúng ra là: 19064255862114312.
    • Test 2: Input: 6691948433388738862; Output: 669194833388738862. Đúng ra là: 669194843338838862.
      Mong tác giả giải đáp giúp mình.