求解

P1150 Peter 的烟

BH3rd @ 2023-10-25 18:07:34

第三个测试点没过

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,k,sam=0;
    cin>>n>>k;
    while(n>=k)
    {
        sam=sam+n;
        n=n/k;
    }
    sam=sam+n;  
    cout<<sam;
    return 0;
}

by meiqz @ 2023-11-02 20:23:11

没有考虑第一轮后余数的烟的烟蒂

代码如下


#include<iostream>
  using namespace std;
int n,k,m,a=0;//n剩下烟支数,k换烟条件,m烟蒂的支数,a已经吸烟的支 
int main ()
{
    cin>>n>>k;//输入 
    while(1)
    {
        n--;//吸一支烟 
        a++;//数量增加 
        m++;//烟蒂增加 
        if(m==k)//换烟条件 
        {
            m=0;//烟蒂归零 
            n++;//烟数量增加 
        }
        if(n==0 && m<k)//判断还能否吸烟 
            break;
    }
    cout<<a;//输出 
    return 0;
}
`````` @[BH3rd](/user/715162)

by BH3rd @ 2023-11-03 16:56:23

@meiqz 谢谢大佬


|