90分求改!!!

P1150 Peter 的烟

cx331004 @ 2024-07-23 22:04:55

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long a,b,ans=0,k;
    cin>>a>>b;
    ans=a;
    k=a;
    while(k>b){
        ans+=k/b;
        int i=k/b;
        k%=b;
        k+=i;
    }
    cout<<ans;
    return 0;
}

代码不知哪有问题

总错第三个点

求助各位大佬


by Killer_Steven @ 2024-07-23 22:19:21

你这里缺了一个等号,当剩余的烟蒂刚好等于k是也是可以换一根新烟的。
代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long a,b,ans=0,k;
    cin>>a>>b;
    ans=a;
    k=a;
    while(k>=b){
        ans+=k/b;
        int i=k/b;
        k%=b;
        k+=i;
    }
    cout<<ans;
    return 0;
}

|