最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript趣题:乌龟赛跑

来源:懂视网 责编:小采 时间:2020-11-27 20:25:48
文档

JavaScript趣题:乌龟赛跑

JavaScript趣题:乌龟赛跑:两只乌龟,分别叫A和B,在进行赛跑。A以720英尺每小时的速度前行着。年轻的B知道A比它肯定跑得慢,所以还在不慌不忙地吃着蔬菜。当B开始跑动的时候,它发现A已经领先了70英尺了,但B的速度是850英尺每小时,所以它肯定能赶上。请问,B赶上A,得多长的时间?更
推荐度:
导读JavaScript趣题:乌龟赛跑:两只乌龟,分别叫A和B,在进行赛跑。A以720英尺每小时的速度前行着。年轻的B知道A比它肯定跑得慢,所以还在不慌不忙地吃着蔬菜。当B开始跑动的时候,它发现A已经领先了70英尺了,但B的速度是850英尺每小时,所以它肯定能赶上。请问,B赶上A,得多长的时间?更

两只乌龟,分别叫A和B,在进行赛跑。

A以720英尺每小时的速度前行着。

年轻的B知道A比它肯定跑得慢,所以还在不慌不忙地吃着蔬菜。

当B开始跑动的时候,它发现A已经领先了70英尺了,但B的速度是850英尺每小时,所以它肯定能赶上。

请问,B赶上A,得多长的时间?

更通用的情况:给定两个速度v1(A的速度,>0的整数),v2(B的速度,>0的整数),还有个领先差距g(g>0),B得花多长时间赶上A?

结果应该是个数组,[h, mn, s],h,mn,s代表时分秒。

如果出现异常情况,比如说v1 >= v2,这样B永远赶不上A,那么直接返回null。

例如:

race(720, 850, 70) // => [0, 32, 18] 
race(80, 91, 37) // => [3, 21, 49]

这道题的关键有2处:

首先得弄清关系,在B追赶A的过程中,A可是一直没闲着,没停下脚步的!

所以如果要让B赶上A,得满足这个等式:

v1 * time + g = v2 * time

这样求time就很简单了,不过最关键的地方,还是如何把时间拆分成时分秒。

我的做法是先求时钟,根据余数求分钟,再根据余数求秒钟。

function race(v1, v2, g) { 
 var h = -1; 
 var mn = -1; 
 var s = -1; 
 var remainder; 
 var speedGap = v2 - v1; 
 if(speedGap > 0){ 
 remainder = g % speedGap; 
 h = parseInt(g / speedGap); 
 mn = parseInt(60 * remainder / speedGap); 
 remainder = remainder * 60 % speedGap; 
 s = parseInt(remainder * 60 / speedGap); 
 return [h, mn, s]; 
 } 
 return null; 
}

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

JavaScript趣题:乌龟赛跑

JavaScript趣题:乌龟赛跑:两只乌龟,分别叫A和B,在进行赛跑。A以720英尺每小时的速度前行着。年轻的B知道A比它肯定跑得慢,所以还在不慌不忙地吃着蔬菜。当B开始跑动的时候,它发现A已经领先了70英尺了,但B的速度是850英尺每小时,所以它肯定能赶上。请问,B赶上A,得多长的时间?更
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top