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
",hav);
    }
    return 0;
}
View Code

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

now=now/k+now%k

原文地址:https://www.cnblogs.com/gabygoole/p/4579114.html