lizhehao @ 2023-06-11 19:36:19
我的代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,ji=0;
cin>>n>>k;
int sum=n;
while(n/k!=0){
sum+=n/k;
ji+=n;
n=ji/k;
}
cout<<sum;
return 0;
}
测试点#2和#3 TLE,求帮助
by XTC_lcd @ 2023-06-11 19:45:10
#include <iostream>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
if (i % k == 0)
{
n++;
}
}
cout << n;
return 0;
}
个人做法
by Rosaya @ 2023-06-11 20:00:08
@lizhehao 你这个根本就不对啊。
1000 2
,这组数据就跑不出来了。
by Howells @ 2023-06-30 21:06:21
ji要取余,并且计算使用ji就好了,何必用n呢?如果用n的话,这样会有一个WA。并且while的/k没必要加,加了反而会有一个WA。具体代码见下:```cpp
using namespace std; int main(){ int n,k,ji=0; cin>>n>>k; int sum=n; while(n!=0){ ji+=n; sum+=ji/k; n=ji/k; ji%=k; } cout<<sum; return 0; }
by Howells @ 2023-06-30 21:07:21
(刚才格式错了)ji要取余,并且计算使用ji就好了,何必用n呢?如果用n的话,这样会有一个WA。并且while的/k没必要加,加了反而会有一个WA。具体代码见下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,ji=0;
cin>>n>>k;
int sum=n;
while(n!=0){
ji+=n;
sum+=ji/k;
n=ji/k;
ji%=k;
}
cout<<sum;
return 0;
}