fzu 1150 Farmer Bill's Problem

Problem 1150 Farmer Bill's Problem

Accept: 877    Submit: 1805
Time Limit: 1000 mSec    Memory Limit : 32768 KB

 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

题意:
跟空瓶子换汽水一样,k个烟头换1个香烟
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define INF 0x3f3f3f
using namespace std;

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


你可能感兴趣的:(fzu 1150 Farmer Bill's Problem)