任给出正整数n和k,然后按下列的规则取数。取数规则为从1开始取,每次取的数为上一次取的数乘2,不够取时加上k再从1开始取,直到取完为止。例如n=16,k=4
l
第一次取数 1 取数后的余数为16-1=15
l
第二次取数 2 取数后的余数为15-2=13
l
第三次取数 4 取数后的余数为13-4=9
l
第四次取数 8 取数后的余数为9-8=1
当第五次取数时,因余数为1,不够取,此时作如下处理:余数1+k=5,再从1开始取
l
第五次取数 1 取数后的余数为5-1=4
l
第六次取数 2 取数后的余数为4-2=2
当第七次取数时,因余数为2,不够取,此时作如下处理:余数2+k=6,再从1开始取
l
第七次取数 1 取数后的余数为6-1=5
l
第八次取数 2 取数后的余数为5-2=3
当第九次取数时,因余数为3,不够取,此时作如下处理:余数3+k=7,再从1开始取
l
第九次取数 1 取数后的余数为7-1=6
l
第十次取数 2 取数后的余数为6-2=4
l
第十一次取数 4 取数后的余数为4-4=0,正好取完
由此可见,当n=16,k=4时,按上述方法11次取完。
输入文件仅有一行包含两个用空格隔开的正整数n和k。
输出文件仅有一行,若正好能够取完,则输出总共取了多少次数;若永远不能取完时,输出“can't finish!”。注意finish之后有感叹号,样例2为永远不能取完的情况。
16 4
11