Số p-nhị phân

Đề bài

Mô tả

Cho một số nguyên p (có thể âm, dương hoặc bằng 0). Ta gọi một số p-nhị phân là số có dạng 2x+p, với x là số nguyên không âm.

Ví dụ, với p=9 thì một vài số (9)-nhị phân là: 8=209, 7=249, 1015=2109.

Cho một số nguyên dương n. Hãy tìm số lượng nhỏ nhất các số p-nhị phân (không nhất thiết phân biệt) có tổng bằng n. Nếu không thể biểu diễn n theo cách này, in ra 1.

Lưu ý: các số hạng p-nhị phân âm được phép xuất hiện trong tổng.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên np.

Dữ liệu ra

In ra một số nguyên duy nhất là số lượng số hạng nhỏ nhất, hoặc 1 nếu không thể biểu diễn.

Ràng buộc

  • 1n109
  • 1000p1000

Ví dụ

Input Output Giải thích
24 0 2 24=(24+0)+(23+0)
24 1 3 24=(24+1)+(22+1)+(20+1)
24 -1 4 24=(241)+(221)+(221)+(221), các số hạng lặp lại được phép
4 -7 2 4=(247)+(217), số hạng thứ hai âm nhưng vẫn hợp lệ
1 1 -1 Không thể biểu diễn được

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0