?
进行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; }
?
?