#320. 蚂蚁上树

蚂蚁上树

【题目描述】

N 只蚂蚁结成一群开始爬树。

树是二叉树,也就是每个分叉点都往上分两条枝杈。树是无穷高的,而且每条枝杈往上都会有分叉点,向上不断地分成两条枝杈。

蚂蚁们往上一直爬,直到走到分叉点。

在每个分叉点,如果来到这里的一群蚂蚁可以恰好分成两群,这两群的数量恰好相差为 K,那么蚂蚁们就会分成这样的两群蚂蚁,分别沿着接下来的两条枝杈继续走。否则这群蚂蚁就不会分开,而是任选一条枝杈一直往上爬。

问:经过无穷久时间以后,会有多少群蚂蚁在不停往上爬?

【输入格式】

一行,两个整数 N,K

【输出格式】

一个整数,表示答案

【样例1输入】

6 2

【样例1输出】

3

【样例1解释】

  6
 / \
2   4
   / \
  1   3

开始有 6 只蚂蚁,最后会分成 3 群,数量分别为 1 只、2 只、3 只。

【样例2输入】

123456789 999

【样例2输出】

18

【说明】

本题不再额外提供附加样例文件。

【数据范围】

1≤N≤10^9,1≤K≤1000