poj2509---抽k根烟就换一支,求能抽烟的总数

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int now,k;
    while(scanf("%d %d",&now,&k) != EOF)
    {
        int hav=0;
        while(now >= k)
        {
            hav +=   now/k*k;
            now = now/k + now%k;
        }
        hav += now;
        printf("%d\n",hav);
    }
    return 0;
}
View Code

算法思路:目前有几支烟就放进now中,把now看成一个整体,now对k取余和取商,商即为k支烟为大小的整体有多少个,一次就have掉now/k*k

now=now/k+now%k

posted @ 2015-06-15 20:26  Gabyler  阅读(218)  评论(0编辑  收藏  举报