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

你可能感兴趣的:(poj)