艰难的旅程
发布时间: 2015年12月13日 19:47 最后更新: 2015年12月27日 09:10 时间限制: 2600ms 内存限制: 128M
设有一只乌龟需要环球旅行,出发时它踌躇满志,第一秒四脚飞奔爬了一米,但由于体力下降,第二秒爬了1/2米,第三秒爬了1/3米,第四米爬了1/4米,以此类推。
现在我们想知道它经过t秒后能爬出多远,以及他要爬出x米需要多少时间。
请你写一个程序来解决这个问题吧!
输入只有两个正整数t和x,中间用空格隔开。已经知道知道t不大于10000而x不大于20
请输出一个浮点数代表乌龟t秒之后爬出的距离,一个整数表示他爬到x米至少需要的时间。t四舍五入保留两位小数,x则向上取整。两数用空格分开,不能颠倒顺序
复制
1 1
1.00 1
复制
3 5
1.83 83
#include<stdio.h>
int main()
{
int t,x,time=0,res=0,flag1=1,flag2=1;
double dis=0,ans=0;
scanf("%d%d",&t,&x);
while(dis<(double)x||time<t)
{
time++;
dis+=1.0/(double)time;
if(time==t&&flag1)
{
flag1=0;
ans=dis;
}
if(dis>=(double)x&&flag2)
{
flag2=0;
res=time;
}
}
printf("%.2f %d",ans,res);
return 0;
}