Thứ Năm, 17 tháng 3, 2016

CHIA BÁNH

Bạn muốn chia n cái bánh cho m người, ban đầu mỗi cái bánh là một phần. Công cụ duy nhất bạn có là một dao cắt bánh, ở mỗi thao tác cắt, bạn được chia một phần bánh thành 2 phần với tỉ lệ tùy ý. Hãy tìm cách dùng ít thao tác nhất để chia bánh thành các phần chia cho m người, mỗi phần thuộc về đúng một người và lượng bánh mỗi người được nhận là bằng nhau.
Dữ liệu vào: Từ tệp văn bản SHARE.INP gồm một dòng chứa hai số nguyên dương n, m ≤1018
Kết quả: Ghi vào tệp văn bản SHARE.OUT một số nguyên duy nhất là số thao tác phải sử dụng.
Ví dụ:

SHARE.INP
SHARE.OUT
3 5
4