MINK_D @ 2021-04-08 20:47:32
!!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,k,s=0,l=0;
cin>>n>>k;
if(n>=k)
s=n/k;
if(s>=k) l=s/k;
else if(s<k) l=0;
cout<<n+s+l;
return 0;
}
by 小杨小小杨 @ 2021-04-08 21:04:31
你没有判断当n/k有余数时把余数个烟蒂保存下来的情况。
还有,有可能它可以不止三次重复买,比如说10 2的情况,第一次买了5支烟,第二次买了2支,其实它还能再买。
根据你的代码改的AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k,s=0,l=0;
cin>>n>>k;l=n;
while (n>=k){
l=l+n/k;
n=n%k+n/k;
}
cout<<l;
return 0;
}
by MINK_D @ 2021-04-08 21:11:32
谢啦!!
by MINK_D @ 2021-04-08 21:12:16
秒懂!!
by 小杨小小杨 @ 2021-04-08 21:22:33
不谢(主要我也错过)
by 温迪QAQ @ 2021-06-01 20:26:04
#include<iostream>
using namespace std;
int main(){
int n,s,k,a;cin>>n>>k;s=n;
while(s/k!=0){
a=s/k;
s%=k;
n+=a;s+=a;
}
cout<<n;
return 0;
}