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

来源:互联网 发布:设计装修软件 编辑:程序博客网 时间:2024/05/20 22:37

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;}
0 0