rgq233666 @ 2017-09-02 10:17:49
#include <iostream>
using namespace std;
int main()
{
int n,k,a,b,c,c1;
cin>>n>>k;
do
{
a=n/k;
b=n%k;
c1=(a+b)/k;
c=c1+a+n;
cout<<c;
}
while(a==0);
}
by rgq233666 @ 2017-09-02 10:18:43
不知为何错
by rgq233666 @ 2017-09-02 10:19:57
恳请大佬帮帮忙
by rgq233666 @ 2017-09-02 10:43:02
#include <iostream>
using namespace std;
int main()
{
int n,k,a,b,c,c1,c2,c3;
cin>>n>>k;
do
{
a=n/k;
b=n%k;
if((a+1)/k!=0)
{
c2=(a+1)/k;
c3=c2/k;
c=a+n+c2+c3;
cout<<c;
}
else
{
c1=(a+b)/k;
c=c1+a+n;
cout<<c;
}
}
while(a==0);
}
AC了
by Troywar @ 2017-09-02 10:54:40
您好(首先我是蒟蒻),其实这个思路……存在问题,比如您可以试一下5 6。
然后呢,问题在于,您的代码相当于直接确定了n>k,同时您的码还有一个问题在于缺少了多次满足k的可能,即C1的模数与其除数和仍然大于k,例如n=7,k=2时,答案为13。
核心码就不写了。
希望有所帮助。
by Troywar @ 2017-09-02 11:15:38
测试点太水……您可以试试n=10001 k=2。