主题:这个题目怎么编程呀,救救我呀,急急急!!!
jxxy
[专家分:0] 发布于 2006-10-07 17:29:00
题目描述:甲、乙两港口之间的距离不超过5000公里,有三只轮船于某天零时同时出发从甲港开往乙港,假设这些船每天24小时不停地匀速航行。已知这三只船每天的航速分别为300公里/天、240公里/天和180公里/天。若干天之后的零时,第一只船最先到达了乙港。又过了几天后的18时第二只船也到了,再过几天后的8时,第三只船最后也到达了。请问:甲、乙两港的实际距离是多少公里?从甲港到乙港这三只船各自走了多长时间?
回复列表 (共2个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2006-10-12 18:01:00
这个题目,
设1#走了n1天,那么距离l=300*n,l<=5000,所以1=<n1<=5000/300,即:1<=n1<=16
无解=1
n1从1到16循环
距离为300*n1
如果距离等于(n2+3/4)*240,且距离等于(n3+1/3)*180,则
打印:实际距离为距离,一号船行走n1天,二号船行走n2天,三号船行走n3天。无解=0
结束如果
循环结束
如果无解,则打印无解
程序结束
板凳
moz [专家分:37620] 发布于 2006-10-15 00:19:00
1.两地距离为L,
L <= 5000
2.若干天之后的零时,第一只船最先到达了乙港。
意思为 L mod 300 = 0
3.又过了几天后的18时第二只船也到了,
意思为 L mod 240 = 240 * ( 18 / 24 ) = 180
4.再过几天后的8时,第三只船最后也到达了。
意思为 L mod 180 = 180 * ( 8 / 24 ) = 60
得条件:
L <= 5000
L mod 300 = 0
L mod 240 = 180
L mod 180 = 60
编程:
for L = 300 to 5000 step 300
if L mod 240 = 180 then if L mod 180 = 60 then print L
next
答案:
3300
我来回复