咋第三题老是错???大佬们给点修改意见!!!求求!!!

P1150 Peter 的烟

Adore_love @ 2024-08-26 10:06:53

#include <cstdio>
using namespace std;
int main(){
    int n1,k,n2=1,s=0;
    scanf("%d%d",&n1,&k);
    s+=n1;
    while(n2){
        n2=n1/k;
        s+=n2;
        n1=n2;
    }
    printf("%d",s);
    return 0;
}

咋我错了呢,样例全对,第三题wa!!!


by abc1234shi @ 2024-08-26 10:08:09

@yyda5203000b 这个代码只计算了初始所给的 n 根烟能产生的烟数量,漏洞在于用烟蒂换来的烟还会产生一个烟蒂。 hack数据:11 3 应输出:16 实际:15


by haley001 @ 2024-08-26 10:09:33

#include<bits/stdc++.h>
using namespace std;
int n,k;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>k;
    int ans=n;
    while(n>=k){
        int s=n/k;
        n%=k;n+=s;ans+=s;
    }
    cout<<ans;
    return 0;
}

这样就可以了


by Adore_love @ 2024-08-26 10:17:36

谢谢大佬!!!


|