coding9 @ 2021-10-23 15:39:16
#include<iostream>
using namespace std;
int main(){
int n,k,i,j,sum;
cin>>n>>k;
i=n/k;
j=i/k;
if(i<k)
sum=i*k+n%k+i;
if(i>=k)
sum=i*k+n%k+i+j;
cout<<sum;
return 0;
}
by 圣啦啦 @ 2021-10-23 16:00:57
这个题应该要用到循环啊,因为它不是只换一次,也就是说他会用那烟蒂换来的烟,再去换烟,这是一个不断循环的过程,所以你只换一次应该是不对的
by 圣啦啦 @ 2021-10-24 08:08:30
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int k;
cin>>n;
cin>>k;
int tot=0;
int sum=n;
while(n>=k){
tot+=(n/k);
n=n-(k-1)*(n/k);
}
cout<<sum+tot;
return 0;
}
你看这个代码,你能不能看懂,简单说就是用了一个while循环,求出能还多少个烟蒂,然后再把用烟蒂换来的烟加回去,继续求烟蒂,这是一个循环的过程. 整体上用到的方法就是模拟
by sleven_bird @ 2021-11-20 13:35:14
#include<iostream>
using namespace std;
int main()
{
int n,k,a,b=0,s=0;
cin>>n>>k;a=n;
while (a!=0)
{
if(b==k)
{
if(a!=0)
{
a++;
b=0;
}
}
else
{
b++;
a--;
s++;
}
}
cout<<s;
return 0;
}