为什么一直有个地方不对啊

P1150 Peter 的烟

nanmuru @ 2024-10-28 21:36:51


    #include<stdio.h>
    int main()
    {
    int n,k;
    int j,i,a;
    scanf("%d %d",&n,&k);
    j=n/k;
    i=j+n-k*j;
    if(i>=k){
        a=i/k;
        printf("%d",n+j+a);
    }   
    else{
        printf("%d",n+j);
    }
    return 0;
    } 

by wyhwhs @ 2024-11-22 22:14:43

#include<bits/stdc++.h>

using namespace std;
int n,k;
int main(){
    cin>>n>>k;
    int ans=0;//计数
    int t=0;//瓶盖数
    while(n!=0){
        n--;//饮料少一个
        t++;//瓶盖多一个
        if(t==k){//瓶盖可以换新的时候
            t=0;//瓶盖重新变回0,重新计数
            n++;//换的那一瓶饮料
        }
        ans++;//喝了ans瓶饮料,饮料数少1,就等于喝了1瓶,能少几瓶就能喝几瓶
    }
    cout<<ans<<endl;
    return 0;
}

@nanmuru换的饮料的瓶盖够了也能换新的,要记得算上


|