杨明皓 @ 2020-07-17 18:36:41
#include<bits/stdc++.h>
using namespace std;
int main()
{
long int n,k,num,f,sum,a;
cin>>n>>k;
sum=n;
num=n;
f=k;
while(f>=k)
{
a=num%k;
num/=k;
sum+=num;
f=num;
if(f+a==k)
{
sum++;
}
}
cout<<sum<<endl;
return 0;
}
90分,第三个点错了,为什么啊
by SHOJYS @ 2020-07-17 19:10:06
@杨明皓 你的这行代码没有考虑到n与k为倍数关系时小部分情况。比如:100 10 AC:111,你的:112。9 3 AC:13 你的:14。第三个测试点10 2 AC:19 你的:18。数据量再大一点:9999999 3 AC:14999998 你的:14999993
by SHOJYS @ 2020-07-17 19:14:43
还有你可以换一种思路来试一试。毕竟我的那种思路只创建了3个变量,操作也比较简单
by 杨明皓 @ 2020-07-18 21:38:01
@ SHOJYS 谢谢!!!!!!
by liyuhangyyds @ 2020-08-22 10:19:39
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,ans=0,yds=0;
cin>>n>>k;
while(n!=0)
{
ans++;
n--;
yds++;
if(yds==k){n++;yds=0;}
}
cout<<ans;
}
by yifeng16 @ 2020-09-01 19:22:23
这道题不是很难