Bạn An rất thích mã hoá các dữ liệu. Trong buổi học tin học ở lớp, An đã trình bày một ý tưởng rất thú vị rằng bạn ấy vừa tìm ra một cách mã hoá mới, có thể mã hoá các thông tin dạng chữ số, mà không ai có thể giải mã.
Cách mã hoá đó là: xoá một hoặc nhiều chữ số của ~N~ ta thu được số mới (ứng với một cách xoá sẽ có một số mới). Với số nguyên dương ~N~ có ~k~ chữ số của ~2^{k}-1~ cách xoá. Tính tổng các số mới sinh ra theo cách xoá trên ta thu được số mã hoá cần tìm (qui ước khi xoá số mới có các chữ số ~0~ đứng đầu thì các chữ số ~0~ này không có nghĩa và số mới là số đã bỏ đi các chữ số ~0~ không có nghĩa đó. Ví dụ: ~103~ sau khi xoá số ~1~ được ~03~ thì số mới là ~3~).
Yêu cầu: Cho số nguyên dương ~N~. Hãy xác định số mã hoá của ~N~ theo cách mã hoá trên.
Dữ liệu vào
- Nhập từ bàn phím một số nguyên dương ~N~ ~(10 < N \le 10^{30})~.
Dữ liệu ra
- Xuất ra một số nguyên dương là số mã hoá cần tìm.
Ví dụ
Dữ liệu
103
Kết quả
30
Giải thích
Vị trí xóa | ~1~ | ~2~ | ~3~ | ~1,2~ | ~1,3~ | ~2,3~ | ~1,2,3~ |
---|---|---|---|---|---|---|---|
Số mới | ~03~ | ~13~ | ~10~ | ~3~ | ~0~ | ~1~ | ~0~ |
Tổng các số thu được : ~3 + 13 + 10 + 3 + 0 + 1 + 0 = 30~
Bài tập được chấm trên bộ test tự sinh của CLAOJ
Comments