Đặt sỏi (Tin học trẻ A - Vòng Sơ khảo 2021)

Xem PDF



Thời gian:
Python 3 2.0s

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, Java, JS, Kotlin, Lua, Node JS, ObjectiveC, OCaml, Output, PHP, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Trên một đoạn thẳng, đầu tiên người ta đặt hai viên sỏi cách xa nhau. Sau đó lặp đi lặp lại thao tác sau: Xác định trung điểm giữa hai viên sỏi liên tiếp trên đoạn thặng, đặt thêm một viên sỏi vào vị trí đó.

  • Ban đầu chỉ có hai viên sỏi đặt trên một đường thẳng.
  • Lượt đặt thứ nhất (\(N = 1\)) thêm một viên sỏi vào trung điểm của hai viên ban đầu.
  • Ở lượt đặt thứ hai (\(N = 2\)), đã có ba viên sỏi của lượt trước và đặt thêm hai viên sỏi (được đánh số \(2\)) vào vị trí trung điểm của hai đoạn thẳng như trên hình mô tả.

Giả sử luôn có khoảng cách để có thể đặt một viên sỏi vào giữa hai viên sỏi.

Hỏi: Sau lượt đặt thứ \(N\) có tất cả bao nhiêu viên sỏi. Vì kết quả có thể rất lớn nên chỉ cần đưa ra chữ số cuối cùng của đáp án.

Input

  • Một dòng chứa một số tự nhiên \(N\) (\(N \le 10^9\)).

Output

  • Một số duy nhát là chữ số cuối của số lượng sỏi đã đặt.

Example

Test 1
Input
2
Output
5
Note

Khi \(N = 2\) thì số sỏi là \(5\) viên.

Test 2
Input
4
Output
7
Note

Khi \(N = 4\) thì số sỏi là \(17\) viên. Vì vậy đưa ra đáp án là \(7\).


Bình luận


  • 0
    DRMacc2bandang    7:25 a.m. 9 Tháng 6, 2024

    n = int(input())
    def is_increase(x):
    x = str(x)
    for i in range(1 , len(x)):
    if int(x[i-1]) >= int(x[i]):
    return False
    return True

    def reversed(x):
    ans = ""
    x = str(x)
    for i in range(0, len(x)):
    ans = x[i] + ans
    return ans
    ans = 0
    for i in range(1, 100000):
    if not is_increase(i):
    continue
    tmp = str(i)
    tmp2 = reversed(tmp)
    if int(tmp + tmp2) <= n:
    ans += 1
    if int(tmp + tmp2[1:]) <= n:
    ans += 1
    print(ans)

    2 phản hồi

    • -1
      Khánh_2008    10:31 a.m. 21 Tháng 4, 2024

      from sys import stdin , stdout

      n = int(stdin.readline())

      a = [6 , 2 , 4 , 8]
      print(2 + (a[n % 4] - 1))
      Đảm bảo AC 100%


      • -2
        PY2EKhang_Chep_Code    9:45 a.m. 7 Tháng 10, 2023

        n = int(input())
        dem = 1
        kq = 2**n+dem
        chusocuoicung = kq % 10
        print(chusocuoicung)


        • 0
          chau2023tk    3:47 p.m. 6 Tháng 6, 2023

          ????????2222???????222222???????!!!!!!!!11!!!!!!11111!!!!!!


          • 0
            chau2023tk    3:43 p.m. 6 Tháng 6, 2023

            ét ô ét đề sai


            • 0
              kimanhctt2    2:14 p.m. 2 Tháng 3, 2023

              dễ thế nhờ


              • 0
                letruong091080    5:06 p.m. 6 Tháng 11, 2022

                bài dễ quá


                • 0
                  huymaz1200    5:02 p.m. 6 Tháng 11, 2022

                  ét ô ét


                  • 0
                    letruong091080    5:02 p.m. 6 Tháng 11, 2022

                    ét ô ét


                    • 0
                      kimanhctt2    4:53 p.m. 6 Tháng 11, 2022 chỉnh sửa 2

                      đọc ko hỉu gìT_T huhu

                      • 4 bình luận nữa