Description
Marjar Cola上市啦!!!为了吸引更多的顾客,吃货公司的老板小茜决定推出一项活动:集齐x个空瓶或y个瓶盖,即可召唤神龙,免费获得一瓶完整的Marjar Cola!!!WoW~ 哇哦!!!!
而现在呢,小斯最初有a个空的可乐瓶和b个可乐瓶盖,他想尽可能多喝可乐(喝穷他!)。他想知道自己可以喝到几瓶Marjar Cola,你能帮帮他吗?
请注意:小斯只去吃货公司买可乐,一瓶可乐也只包含一个可乐瓶和一个瓶盖。并且小斯最初的可乐瓶和可乐盖都是别人给的,不算自己喝的。
Input
输入包括4个数,x,y,a,b(1 ≤ x, y, a, b ≤ 100)。
Output
输出单行结果,小斯可以喝到几瓶可乐,若为无数瓶,则输出“INF”。
Sample Input
1 3 1 1 4 3 6 4
Sample Output
INF 4
解题思路:这道题思路很简单,就是考察了基本的选择和循环,但在如何判断是不是无穷大的时候,可以让循环一直跑下去,直到接近于一个很大的数,
做出判断来跳出循环,从而不需要用特判的方式得到无穷。
上代码:
1 #include<stdio.h> 2 int main() 3 { 4 int x,y,a,b,count,flag=0; 5 scanf("%d%d%d%d",&x,&y,&a,&b); 6 count=0; 7 while(1) 8 { 9 if(a>=x) 10 { 11 a=a-x; 12 a++; 13 b++; 14 count++; 15 } 16 if(b>=y) 17 { 18 b=b-y; 19 a++; 20 b++; 21 count++; 22 } 23 if(a<x&&b<y) 24 break; 25 if(count==100000) 26 { 27 flag=1; 28 break; 29 } 30 31 } 32 if(flag==1) 33 printf("INF\n"); 34 else 35 printf("%d\n",count); 36 return 0; 37 }