一道数学题目

zhou968 2008-07-08 12:31:49
环行跑道周长为400米.甲乙两人同时同地顺时针沿环行跑道跑步.甲52米/分钟.乙46米/分钟.假设甲乙两人每跑100米停下休息一分钟.问甲多长时间追上乙?
...全文
141 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqhmitzk 2008-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Haiwer 的回复:]
select 100.0/46

--结果
2.173913
单位:分钟
[/Quote]
??
昵称被占用了 2008-07-08
  • 打赏
  • 举报
回复
select 100.0/46

--结果
2.173913
单位:分钟
Lyw110 2008-07-08
  • 打赏
  • 举报
回复
因为甲追上乙时,甲肯定是没有休息,而乙状态只可能为"休息"或"跑"。
设 t 分钟后追上,由题意可得:
1. 假如甲是在乙休息的时候追上,则:
(t - [52*t / 100]) * 52 = (t - [48*t / 100] - 1) * 48 + 400 其中 [x] 表示向下取整

1. 假如甲是在乙跑步时追上,则:
(t - [52*t / 100]) * 52 = (t - [48*t / 100]) * 48 + 400 其中 [x] 表示向下取整


可解得 t = ? -- ^-^其实我不知道怎么解
Lyw110 2008-07-08
  • 打赏
  • 举报
回复
因为甲追上乙时,甲肯定是没有休息,设 t 分钟后追上,由题意可得:

(t - [52*t / 100]) * 52 = (t - [48*t / 100]) * 48 + 400 其中 [x] 表示向下取整

可解得 t = ? -- ^-^其实我不知道怎么解
-晴天 2008-07-08
  • 打赏
  • 举报
回复
136是对的,提高了计时精度,但降低了距离精度...
Garnett_KG 2008-07-08
  • 打赏
  • 举报
回复
-_-///


为了接这点分差点崩溃
-晴天 2008-07-08
  • 打赏
  • 举报
回复
--环行跑道周长为400米.甲乙两人同时同地顺时针沿环行跑道跑步.甲52米/分钟.乙46米/分钟.假设甲乙两人每跑100米停下休息一分钟.问甲多长时间追上乙? 
--时间精度以0.1秒计
declare @d1 decimal(15,5),@d2 decimal(15,5),@i int,@j int,@k int
select @i=0,@d1=0,@d2=0,@j=0,@k=0
while @d1-@d2<400
begin
set @i=@i+1
if convert(int,@d1+52.0/600)/100 > convert(int,@d1)/100 or @j>0
begin
if @j=0
begin
set @d1=@d1+52.0/600
set @j=@j+1
end
else if @j=600
set @j=0
else
set @j=@j+1
end
else
set @d1=@d1+52.0/600
if convert(int,@d2+46.0/600)/100 > convert(int,@d2)/100 or @k>0
begin
if @k=0
begin
set @d2=@d2+46.0/600
set @k=@k+1
end
else if @k=600
set @k=0
else
set @k=@k+1
end
else
set @d2=@d2+46.0/600
end
select @i/600,@d1,@d2,@j,@k --最后输出为分钟
/*
----------- --------------------------------------- --------------------------------------- ----------- -----------
139 4800.04461 4400.01463 1 395
*/

刚才的程序有问题,现提高精度再算.
结果表明,甲是在乙处于休息状态时追上的,用数学的方式来算还是有难度的.
-晴天 2008-07-08
  • 打赏
  • 举报
回复
--时间精度以秒计
declare @d1 decimal(15,5),@d2 decimal(15,5),@i int,@j int,@k int
select @i=0,@d1=0,@d2=0,@j=0,@k=0
while @d1-@d2<400
begin
set @i=@i+1
if convert(int,@d1+52.0/60)/100 > convert(int,@d1)/100 or @j>0
begin
set @j=@j+1
if @j=61
begin
set @j=0
set @d1=@d1+52.0/60
end
end
else
set @d1=@d1+52.0/60
if convert(int,@d2+46.0/60)/100>convert(int,@d2)/100 or @k>0
begin
set @k=@k+1
if @k=61
begin
set @k=0
set @d2=@d2+46.0/60
end
end
else
set @d2=@d2+46.0/60
end
select @i/60,@d1,@d2 --最后输出为分钟
/*
----------- --------------------------------------- ---------------------------------------
136 4699.95141 4299.48536
*/
wgzaaa 2008-07-08
  • 打赏
  • 举报
回复
接点小分还要动脑筋,这种日子没法过了
rockyvan 2008-07-08
  • 打赏
  • 举报
回复
1、設不休息花了T1時間追上
52*T1-46*T1=400
∴T1=400/6
2、設總共休息了T2時間
∴T2=(52*(400/6))/100
3、設總共花了T時間追上
∴T=T1+T2=400/6+(52*(400/6))/100≈101.33分鐘
rockyvan 2008-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 rockyvan 的回复:]
34.67分鐘
[/Quote]
更正:101.33分鐘
-晴天 2008-07-08
  • 打赏
  • 举报
回复
select 400/(100/(100/52+1)-100/(100/46+1))
chuifengde 2008-07-08
  • 打赏
  • 举报
回复
解:
假设甲跑了X百米,乙跑了Y百米则等式
(X*100)/52+X=Y*100/46+Y
成立

又甲跑的圈数比乙多一圈,故等式
X/4=Y/4+1
成立
解方程得X,代入(X*100)/52+X 可得时间

唉,现在作题太次了
Garnett_KG 2008-07-08
  • 打赏
  • 举报
回复
SELECT 400/(52-46.0) * (400/52.0) + 400/(52-46.0)* 4
----
779.4871716923
rockyvan 2008-07-08
  • 打赏
  • 举报
回复
34.67分鐘
chuifengde 2008-07-08
  • 打赏
  • 举报
回复
4.75分钟
rhq12345 2008-07-08
  • 打赏
  • 举报
回复
52*t-46*(t+4)=400

11,850

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧