not_exist @ 2022-08-26 13:02:57
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
typedef string sg;
typedef long lg;
typedef double de;
typedef char ch;
typedef long long ll;
typedef bool bl;
typedef unsigned int ui;
typedef unsigned long long ull;
int main()
{
ll num=0,n,k;
cin>>n>>k;
while(n>=k){
num+=n;
n=(n/k);
}
num+=n;
cout<<num;
return 0;
}
by tbdsh @ 2022-08-26 13:40:43
@not_exist
您的while循环不应该是【当n >= 1]时重复执行,然后循环内num持续++。除此之外,还要再加一个变量计算当前未使用的烟蒂,即每吸一根烟当前未使用的烟蒂++。如果当前未使用的烟蒂数量>=k, 当前未使用的烟蒂数量 -= k, n++。
建议您按照此思路修改您的程序
by not_exist @ 2022-08-26 13:50:00
@tianbiandeshenghuo11 谢谢您
by tbdsh @ 2022-08-26 13:51:42
@not_exist
不谢~
by tbdsh @ 2022-08-26 13:53:09
(我似乎多打了一个不字)
是
您的while循环应该是【当n >= 1]时重复执行,然后循环内num持续++。除此之外,还要再加一个变量计算当前未使用的烟蒂,即每吸一根烟当前未使用的烟蒂++。如果当前未使用的烟蒂数量>=k, 当前未使用的烟蒂数量 -= k, n++。
哈,不要看上面那个了 @not_exist
by not_exist @ 2022-08-26 13:54:49
收到~
by not_exist @ 2022-08-26 14:01:12
AC成功!
by not_exist @ 2022-08-26 14:01:54
献出关注ing