?
进行K次操作,第i次操作是把X变成不小于X的最大整数,并且X是i的倍数。经过K次操作后就X的值。
红果果的暴力是会超时的。暴力打表发现在12000之后出现规律。之后的两两之间差恒定了。
?
?
?
AC代码:
?
?
#include
#define ll __int64
const ll maxn=120000;
int main()
{
ll i;
ll x,k;
int cas=1;
while(scanf(%I64d %I64d,&x,&k)!=EOF)
{
if(x==0 && k==0)
break;
printf(Case #%d: ,cas++);
if(k<=maxn)
{
for(i=1;i<=k;i++)
if(x%i!=0) x=i*(x/i+1);
printf(%I64d
,x);
}
else
{
ll y;
for(i=1;i<=maxn;i++)
if(x%i!=0) x=i*(x/i+1);
y=i*(x/i+1);
printf(%I64d
,x+(k-maxn)*(y-x));
}
}
return 0;
}
?
?