题目链接:hdu 4852
暴力打表出奇迹,找出规律即可
/******************************************************
* File Name: 1008.cpp
* Author: kojimai
* Creater Time:2014年08月14日 星期四 13时29分06秒
******************************************************/
/*
*给你一个数x,一共操作k次,第i次操作通过增加x把x变为i的倍数的最小值,问最终x变为多好少
*暴力打表找规律,最终就会发现到某一步操作如果x=(i-1)*i之后,之后的每一步都是(i-1)的倍数,于是暴力找出这个值即可。
*/
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
int cas=1;
long long n,k;
while(cin>>n>>k)
{
if(n+k==0)
break;
long long i;
long long tmp=-1;
for(i=1;i<=k;i++)
{
if(n%i!=0)
{
n=(n/i+1)*i;
}
if(n==i*(i-1))
{
tmp=i-1;
break;
}
}
if(tmp!=-1)
n=k*tmp;
printf("Case #%d: ",cas++);
cout<<n<<endl;
}
return 0;
}