BASEH spoj – Cơ số H

Nguồn đề bài: http://vn.spoj.com/problems/BASEH/

1. Đề bài BASEH spoj

Cho một dãy số a[1],a[2],a[3],…,a[n] và hai số K,H được xác định như sau:

  • a[1]=1;
  • Nếu K chẵn thì a[K]=H*a[K/2].
  • Nếu K lẻ thì a[K]=H*a[(K-1)/2]+1.

Các bạn hãy lập trình tính số thứ K của dãy viết trong hệ cơ số H.

Input

  • Gồm một dòng duy nhất chứa 2 số K,H.

Output

  • In ra số duy nhất là kết quả bài toán.

Giới hạn

  • 0< K <=1000000000.
  • 0=< H <=2008.

Ví dụ

Input
7 110
Output
111

##########

2. Gợi ý BASEH spoj

– Dễ dàng nhận thấy đây là bài toán chuyển hệ Thập Phân thành hệ nhị phân.

3. code tham khảo BASEH spoj

var k : longint;
      s : string;
begin
readln(k); s := '';
repeat
  s := chr(k mod 2 + 48) + s;
  k := k div 2;
until k = 0;
write(s);
end.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *