poj2509 Peter's smokes----水题

Peter's smokes
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 16026   Accepted: 6499

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

The UofA Local 2000.10.14

今天好像做太多水题了~

#include<iostream>
#include<cstdlib>
#include<stdio.h>
#define ll __int64
using namespace std;
int main()
{
    ll n,k;
    while(scanf("%I64d%I64d",&n,&k)!=EOF)
    {
        ll count=n;
        while(1)
        {
            ll x=n/k;
            count+=x;
            n=x+n%k;
            if(n<k)
            break;
        }
        cout<<count<<endl;
    }
}


 

你可能感兴趣的:(poj2509 Peter's smokes----水题)