20111102

ACM 10346 Peter’s Smokes

捲香煙……
算除法跟餘數。
每次除完的餘數,
會影響下一次的除法結果,
所以餘數要紀錄下來。

/* ACM 10346 Peter’s Smokes
 * mythnc
 * 2011/11/02 20:18:09   
 * run time: 0.008
 */
#include <stdio.h>

int rollcig(int, int);

int main(void)
{
    int n, k;

    while (scanf("%d %d", &n, &k) == 2)
        printf("%d\n", rollcig(n, k));

    return 0;
}

/* rollcig: return the cigarette peter have */
int rollcig(int n, int k)
{
    int count, r;
    
    for (count = n; n >= k; n += r) {
        r = n % k;
        n /= k;
        count += n;
    }

    return count;
}

沒有留言: