xumingyang666 @ 2024-08-12 21:26:14
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ll n,k;
cin>>n>>k;
ll sum=n;
while(n!=0){
sum+=n/k;
n=n/k;
}
cout<<sum;
return 0;
}
by dengqingrui123 @ 2024-08-12 21:37:57
@xumingyang666 给一组hack数据:
输入: 100 2
stdout:199
youout: 197
应该是烟蒂的再次利用计算出现了问题,
公式:
n+(n-1)/(k-1)
by Zhang_z_h @ 2024-08-12 21:40:05
第3个点是10跟2你可以在测一下@xumingyang666
by xumingyang666 @ 2024-08-13 08:38:01
@dengqingrui123
感谢大佬
by xumingyang666 @ 2024-08-13 08:56:12
结贴!
by yjy_fywy @ 2024-08-14 20:05:06
@dengqingrui123 大佬我输出也是197怎么办
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,k,s=0;
cin>>n>>k;
while(0==0){
s+=n;
n/=k;
if(n==0){
cout<<s;
break;
}
}
return 0;
}
代码是这样的
by dengqingrui123 @ 2024-08-15 09:24:35
@yjyhhh 应该是烟蒂再次利用的公式推错了
by yjy_fywy @ 2024-08-15 10:17:50
@dengqingrui123 那公式是啥