SWUST OJ 爬不出去的水井(0333)
爬不出去的水井(0333)
Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 1069 Accepted: 150
Description
有一只青蛙掉进了一口水井里,自然青蛙不想在水井里呆一辈子。于是它尝试从水井里跳出来。但是水井的墙壁又是十分的光滑,它每次跳上去之后变会滑落一段距离。已知青蛙每次可跳的高度为H,每次向上跳后在井壁滑落的距离为X,水井的高度为L!请你设计一个程序来计算青蛙多少次可以跳出水井!
例如:青蛙可跳的高度为3,每次滑落2,水井高5米。那么它需要跳3次即可出水井
Input
多组测试数据,每组测试数据一行,为L, H ,X(均为正整数)中间以空格隔,L水井的高度,H表示每次青蛙可跳的高度,X每次滑落的高度
输入均为0时结束,即 0 0 0时程序结束
Output
对应每组测试数据,输出青蛙出水井所要跳的次数
Sample Input
5 3 2
7 4 1
Sample Output
3
2
Hint
Source
1 #include<stdio.h> 2 int main() 3 { 4 int L,H,X; 5 while(scanf("%d %d %d",&L,&H,&X)!=EOF) 6 { 7 if(L==0&&H==0&&X==0) 8 break; 9 if(L<=H) 10 printf("1\n"); 11 else 12 { 13 if((L-H)%(H-X)==0) 14 { 15 printf("%d\n",(L-H)/(H-X)+1); 16 } 17 else 18 { 19 printf("%d\n",(L-H)/(H-X)+2); 20 } 21 } 22 } 23 return 0; 24 }
注:(count+1)* H - count * X = L,求 count+1,L<=H(也只有在这种情况下,H才可能等于X)处理下,模拟过程可能会超时。