HDU-worm-n长虫子u步d滑

来源:互联网 发布:spark 协同过滤 java 编辑:程序博客网 时间:2024/04/27 20:59
问题及代码:
/*  *Copyright (c)2014,烟台大学计算机与控制工程学院  *All rights reserved.  *文件名称:HDU.cpp  *作    者:单昕昕  *完成日期:2015年1月19日  *版 本 号:v1.0  *  *问题描述:An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u inches every minute, but then has to rest a minute before climbing again. During the rest, it slips down d inches. The process of climbing and resting then repeats. How long before the worm climbs out of the well? We'll always count a portion of a minute as a whole minute and if the worm just reaches the top of the well at the end of its climbing, we'll assume the worm makes it out.一寸虫在一个N英寸深底。它有足够的能量爬u英寸的每一分钟,但然后休息几分钟才爬了。休息的时候,它滑落d英寸。攀岩和休息的过程,然后重复。多久之前,虫子爬得好吗?我们会算一分钟的一部分作为一个整体分钟,如果虫子就达到在其尽头爬上井上,我们假设蠕虫出来。*程序输入:There will be multiple problem instances. Each line will contain 3 positive integers n, u and d. These give the values mentioned in the paragraph above. Furthermore, you may assume d < u and n < 100. A value of n = 0 indicates end of output.*程序输出:Each input instance should generate a single integer on a line, indicating the number of minutes it takes for the worm to climb out of the well.Sample Input10 2 120 3 10 0 0Sample Output1719*/#include <iostream>using namespace std;int main(){    int n,u,d;    while(cin>>n>>u>>d)    {        if(n==0&&u==0&&d==0) break;        else        {            if(((n-u)%(u-d))==0)                cout<<1+2*((n-u)/(u-d))<<endl;            else                 cout<<1+2*(((n-u)/(u-d))+1)<<endl;        }    }    return 0;}



运行结果:




知识点总结:
n长虫子u步d滑。

学习心得:

还是数学问题啊。

0 0