Mở Khoá

Xem PDF



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

\(N\) ô khóa được đánh số từ \(1\) đến \(N\).

Ban đầu, tất cả các ô đều chứa giá trị \(0\).

Thực hiện lần lượt \(N\) thao tác. Ở thao tác thứ \(i\):

  • Tính \(S(i)\) là tổng các chữ số của \(i\).
  • Đổi trạng thái (\(0 \leftrightarrow 1\)) của tất cả các ô có chỉ số là bội của \(S(i)\).

Ví dụ: Nếu \(S(i) = 3\) thì đổi trạng thái các ô \(3, 6, 9, 12, 15, \dots\)

Sau khi thực hiện đủ \(N\) thao tác, hãy xác định có bao nhiêu ô mang giá trị \(1\).

Input

  • Một dòng duy nhất chứa số nguyên dương \(N\).

Output

  • In ra số lượng ô có giá trị bằng \(1\) sau khi hoàn thành tất cả các thao tác.

Constraints

  • \(1 \le N \le 10^6\)

Example

Test 1

Input
10
Output
5
Note

Các thao tác lần lượt có tổng chữ số là:

\(i\) \(S(i)\)
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1

Mỗi thao tác sẽ đổi trạng thái các ô có chỉ số là bội của \(S(i)\). Sau khi thực hiện xong tất cả các thao tác, có \(5\) ô mang giá trị \(1\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.