标题:不甘井底的蜗牛
取消只看楼主
jsjljh
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2010-3-21
结帖率:0
已结贴  问题点数:20 回复次数:2 
不甘井底的蜗牛
一只小蜗牛在6尺深的井底想爬出来。在白天,它最多只能爬3尺高,到了夜里,它又会滑下去1尺。可怜的是小蜗牛还在一天一天的衰老下去,
它的爬升能力每天都会减少其最大爬升能力的10%,即3*10%=0.3尺。也就是说,第二天,它在白天只能爬升2.7尺,第三天就只有2.4尺了,但
它每天夜里滑下去的距离不变.它究竟哪一天才能爬上来呢?
请求解一个通解。即根据井深H,每种蜗牛最大的爬升距离U,不由自主的下滑距离D,以及衰弱因子F,判断它到底哪一天能爬上来?
或者永远爬不上来?
输入数据H,U,D,F(均在【1,100】区间内),若H为0,则表示输入结束;若天亮之前蜗牛回到井底,则它不会再次尝试爬出井口。
样本输入如下:
6 3 1 10
10 2 1 50
50 5 3 14
1 1 1 1
50 6 4 1
50 6 3 1
搜索更多相关主题的帖子: 井底 蜗牛 
2010-04-08 21:50
jsjljh
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2010-3-21
得分:0 
我的代码是:
#include<iostream>
using namespace std;
void main()
{
    int H ,U,D,T=0;
    double h1=0,h2=0,F;
t:cout<<"请输入数据:"<<endl;
    for(;;)
    {
cin>>H>>U>>D>>F;
       getchar();
if(!(H>=1&&H<=100))
    {
        cout<<"输入错误,请重新输入:"<<endl;
        goto t;}
else
    if(!(U>=1&&H<=100))
    {
        cout<<"输入错误,请重新输入:"<<endl;
        goto t;}
    else
    if(!(H>=1&&H<=100))
    {
        cout<<"输入错误,请重新输入:"<<endl;
        goto t;}
    else
    if(!(H>=1&&H<=100))
    {
        cout<<"输入错误,请重新输入 :"<<endl;
        goto t;}
    else
 for(;h1<=H&&h1>=0;)
    {        
        T++;
        h1=h1+U;
        h2=h1-D;        
        h1=h2;   
        if(!(h2>0||h2==0))
            cout<<"failure on day  "<<T<<endl;
        U=U-U*F*0.1f*0.1f;
   }
   cout<<"success on day  "<<T<<endl;
}
}
运行结果如下::我很无语,不知道是我的设计有问题,还是软件不稳定,晕的慌!还请高人帮忙!呵呵
请输入数据:
102 100 50 10
输入错误,请重新输入:
请输入数据:
100 50 4 3
success on day  3
1 1 1 1
success on day  3
10 2 1 50
success on day  3
102 100 2 3
输入错误,请重新输入:
请输入数据:
10 2 1 50
success on day  3
100 50 4 3
success on day  3
。。。
2010-04-08 22:36
jsjljh
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2010-3-21
得分:0 
谢啦,高手!呵呵!你还真幽默!
2010-04-08 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-302265-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055081 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved