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.