FZU 1150 Farmer Bill's Problem(逻辑推理题目)

Problem Description

Peter has n cigarettes. He smokes them one by one keeping all the butts. Out of k > 1 butts he can roll a new cigarette.

How many cigarettes can Peter have?

Input

Input is a sequence of lines. Each line contains two integer numbers giving the values of n and k.

Output

For each line of input, output one integer number on a separate line giving the maximum number of cigarettes that Peter can have.

Sample Input

4 3
10 3
100 5
Sample Output

5
14
124
Source

Albert 2001

逻辑推理如下

#include<cstdio>

int main()
{
    int n,k,t;
    __int64 sum;
    while(~scanf("%d%d",&n,&k))
    {
        sum=0;
        while(n>=k)
        {
            t=n/k;
            sum+=t*k;
            n=t+n%k;
        }
        printf("%I64d\n",sum+n);
    }
    return 0;
}

你可能感兴趣的:(FZU 1150 Farmer Bill's Problem(逻辑推理题目))