2155: 神秘商人的救赎
1.描述
相信都还记得英雄联盟里的那个物品商店吧,在那个商店里你可以用金币买到许多强力的装备。如今那个神奇商人找到了小程,因为小程最近老是在钻研号码的问题,商人怕同学们胖揍小程,于是决定救他一把。
这次因为神秘商人的加入,不会出现号码问题了。神秘商人给小程了以下规则:
1、小程初始只有n个金币;
2、商人随机报一个数字m,代表兑换次数;
3、兑换顺序第一次是小程->神秘商人,第二次是神秘商人->小程,等等循环下去;
4、小程向神秘商人兑换,将自己的全部金币交出,神秘商人得到该价值的装备;
神秘商人向小程兑换,将自己的全部装备交出,小程的到原先2倍的金币。
输入
输入n,m,代表小程的初始金币个数和兑换次数(2<=n<=100 , 1<=m<=70)
输出
若小程最后还有钱,则输出钱数;
若小程最后没有钱,则输出“No Money!”(无“”)
样例输入
5 7
样例输出
No Money!
提示
第一次,小程将5金币给神秘商人 --> 小程0金币,神秘商人5价值的装备
第二次,神秘商人将5价值的装备给小程 --> 小程10金币,神秘商人0价值的装备
第三次,小程将10金币给神秘商人 --> 小程0金币,神秘商人10价值的装备
第四次,神秘商人将10价值的装备给小程 --> 小程20金币,神秘商人0价值的装备
第五次,小程将20金币给神秘商人 --> 小程0金币,神秘商人20价值的装备
第六次,神秘商人将20价值的装备给小程 --> 小程40金币,神秘商人0价值的装备
第七次,小程将40金币给神秘商人 --> 小程0金币,神秘商人40价值的装备
2.代码
#include <stdio.h>
#include<math.h>
int main()
{
long long int n,m,i,xc,sr;
scanf("%lld %lld",&n,&m);
xc=n;
for(i=1;i<=m;i++)
{
if(i%2!=0)
{
sr=xc;
xc=0;
}
else
{
xc=2*sr;
sr=0;
}
}
if(xc==0)
{
printf("No Money!");
}
else
{
printf("%lld",xc);
}
return 0;
}