最近同事问了个有趣的问题,好像是小学生的题:
一游泳池泳道长100米,甲、乙两个运动员从泳道的两端同时下水,作往返15分钟,甲每分钟游81米,乙每分钟游89米,甲运动员一共从乙运动员身边经过( )次?请列式作说明
看完题不由得感叹现在小孩子可真难。
由于最近开始学习R语言,尝试用R语言解决这个问题:
library(ggplot2)
f1 <- function(t){
d <- (81/60) * t
if (d <= 100) {
return(d)
}
else {
if ((d %/% 100) %% 2) {
return(100 - d %% 100)
}
else {
return(d %% 100)
}
}
}
f2 <- function(t){
d <- (89/60) * t
if (d <= 100) {
return(100 - d)
}
else {
if ((d %/% 100) %% 2) {
return(d %% 100)
}
else {
return(100 - d %% 100)
}
}
}
y1 = vector()
y2 = vector()
for (i in (1:900)) {
y1[[i]] <- f1(i)
y2[[i]] <- f2(i)
}
t <- 1:900
data <- data.frame(
T = t,
Y1 = y1,
Y2 = y