UVA 573 - The Snail(数学)
2013-07-27 15:27
295 查看
The Snail |
climbs 10%
3 = 0.3 feet less than it did the previous day. (The distance lost to fatigue is always 10% of the first day's
climbing distance.) On what day does the snail leave the well, i.e., what is the first day during which the snail's height exceeds 6 feet? (A day consists of a period of sunlight followed by a period of darkness.) As you can see from the
following table, the snail leaves the well during the third day.
Day | Initial Height | Distance Climbed | Height After Climbing | Height After Sliding |
1 | 0' | 3' | 3' | 2' |
2 | 2' | 2.7' | 4.7' | 3.7' |
3 | 3.7' | 2.4' | 6.1' | - |
negative.) You must find out which happens first and on what day.
Input
The input file contains one or more test cases, each on a line by itself. Each line contains four integers H, U, D,and F, separated by a single space. If H =
0 it signals the end of the input; otherwise, all four numbers will be between 1 and 100, inclusive. H is
the height of the well in feet, U is the distance
in feet that the snail can climb during the day, D is
the distance in feet that the snail slides down during the night, and F is
the fatigue factor expressed as a percentage. The snail never climbs
a negative distance. If the fatigue factor drops the snail's climbing distance below zero, the snail does not climb at all that day. Regardless of how far the snail climbed, it always slides Dfeet
at night.
Output
For each test case, output a line indicating whether the snail succeeded (left the well) or failed (slid back to the bottom) and on what day. Format the output exactly as shown in the example.
Sample Input
6 3 1 10 10 2 1 50 50 5 3 14 50 6 4 1 50 6 3 1 1 1 1 1 0 0 0 0
Sample Output
success on day 3 failure on day 4 failure on day 7 failure on day 68 success on day 20 failure on day 2
Miguel A. Revilla
1998-03-10
====================================
一只蜗牛白天向上爬U,晚上向下滑D,U每天减小最开始U的F%,问第几天会成功(或失败)。
#include <iostream> #include <cstdio> using namespace std; int main() { int f;double h,u,d; while(~scanf("%lf%lf%lf%d",&h,&u,&d,&f)) { if(h==0) break; double sum=u; int day=1; double per=u*f/100.0; while(sum<=h) { sum-=d; if(sum<0) break; if(u>=per) u-=per; else u=0; sum+=u; day++; //cout<<"u="<<u<<endl; //cout<<"sum="<<sum<<endl; } if(sum>h) printf("success on day %d\n",day); else if(sum<0) printf("failure on day %d\n",day); } return 0; }
相关文章推荐
- UVA 573 (暑假-数学 -F - The Snail)
- HDOJ 1302(UVa 573) The Snail(蜗牛爬井)
- UVa 573 The Snail(蜗牛)
- HDOJ 1302(UVa 573) The Snail(蜗牛爬井)
- uva 573 The Snail(模拟)
- UVa 573 The Snail (模拟)
- Spreading the Wealth UVA - 11300 找规律+数学推导
- uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)
- UVA11479 Is this the easiest problem?【三角形判定+数学】
- UVa 11427 Expect the Expected (数学期望 + 概率DP)
- 数学/思维 UVA 11300 Spreading the Wealth
- 数学题uva107-The Cat in the Hat
- UVA 10499 - The Land of Justice(数学)
- UVa Spreading the Wealth-11300(数学推导+中位数)
- UVa11300 Spreading the Wealth(数学问题)
- UVA 11752 The Super Powers —— 数学与幂
- UVa - 11300 - Spreading the Wealth ( 数学推导 )
- uva - 11300 - Spreading the Wealth(数学推导,中位数)
- Uva 11300 Spreading the Wealth(数学,中位数)
- UVA 11300 SPREADING THE WEALTH 【数学】