Right on Time

Here is the puzzle as written on the April 24, 2026 Fiddler on the Proof.

From Steve Curry comes a puzzle that’s right on schedule:

A standard analog clock includes an hour hand, a minute hand, and 60 minute markers, 12 of which are also hour markers.

At a certain time, both the hour hand and minute hand are both pointing directly at minute markers (either of which could also be an hour marker). The hour hand is 13 markers ahead (i.e., clockwise) of the minute hand.

At what time does this occur? (Don’t worry about a.m. vs. p.m. for this puzzle.)

Solution

If an hour hand is pointing directly at a minute marker, the minute hand MUST be on 0 (or 60), 12, 24, 36, or 48.

If the hour hand is 13 units in front of the minute hand, then we can do some checking to see which is consistent.

Minute hand on 0 means hour hand on 13. This would mean the it is 3 notches beyond 2 which is 2:36, contradicting the minute hand being on 0.

If the minute hand is on 12, the hour hand would be pointing directly at 25 which would mean it is 5:00, contradicting the minute hand being on 12.

If the minute hand is on 24, the hour hand would be pointing directly at 37 which would mean it is 7:24, which is consistent with the minute hand being on 24. Thus, the answer is 7:24. We’ll check the next two positions for completeness.

If the minute hand is on 36, the hour hand would be pointing directly at 49 which would mean it is 9:48, contradicting the minute hand being on 36.

If the minute hand is on 48, the hour hand would be pointing directly at 01 which would mean it is 12:12, contradicting the minute hand being on 48.

Right on Time (Extra Credit)

Here is the extra credit printed exactly as in the Fiddler on the Proof.

At various times of day, the minute and hour hands form a right angle. But is there a time of day when the hour hand, minute hand, and second hand together form two right angles, as illustrated below? If you can find such a time or times, what are they?

If you cannot find any such times, suppose the measures of the two nearly right angles formed by the three hands measure A and B degrees. What time or times of day minimize the square error function f(A, B) = (A − 90)2 + (B − 90)2?

Either way, your answer should be precise to at least a thousandth of a second. (Again, don’t worry about a.m. vs. p.m. for this puzzle.)

Solution to Extra Credit

Let \(h\) be the hour of the time as a real number on the interval \([0,12)\) with the understanding that if \(h\) is on \([0,1)\), then we add 12 to \(h\) for reporting the time purposes only. The minute-mark position of \(h\) is \(5h\).

If \(m\) represents the minute value of the time, this can be found by \(m = (h - \lfloor h \rfloor)*60\) where \(\lfloor h \rfloor\) represents the floor of \(h\). This can also be evaluated as \((60h)\mod 60\). If \(s\) represents the second value of the time, this can be found by \(s = (m - \lfloor m \rfloor)*60\).

Now, let us set up a function that takes as input the hour, \(h\), computes the minute- mark positions of the minute hand and the second hand, computes the smallest two angles \(A\) and \(B\) that form between \(h\), \(m\), and \(s\), and then outputs \((A-90)^2 + (B-90)^2\).

# h is input as an hour between [0,12)
degSqErr <- function(h){
  # compute the minute mark of the minute hand
  m <- (h - floor(h))*60
  # compute the minute mark of the second hand
  s <- (m - floor(m))*60
  # Compute the six different angles between h, m, and s without regard for 
  # direction
  x1 <- ((5*h-s) %% 60)*6
  x2 <- ((5*h-m) %% 60)*6
  x3 <- ((m-s) %% 60)*6
  x4 <- ifelse(x1==0,360,((s-5*h) %% 60)*6)
  x5 <- ifelse(x2==0,360,((m-5*h) %% 60)*6)
  x6 <- ifelse(x3==0,360,((s-m) %% 60)*6)
  # Find the smallest two angles and define them as A and B
  
  A <- sort(c(x1,x2,x3,x4,x5,x6))[1]
  B <- sort(c(x1,x2,x3,x4,x5,x6))[2]
  # return the squared error
  return((A-90)^2 + (B-90)^2)
}

Let’s build a vector of values and compute the squared error from 90 degrees and see if we can zero in on a minimum.

h <- seq(0,12,.0001)
hp <- 5*h
m <- (h-floor(h))*60
s <- (m-floor(m))*60
y <- sapply(h,degSqErr)

## Which hours produce the minimum squared error? 
h[which(y==min(y))]
## [1] 3.8178 8.1822

So, 3.8178 and 8.1822 are times at which the squared error is minimized.

hmin <- h[which(y==min(y))]
h1 <- hmin[1]
h2 <- hmin[2]
m1 <- (h1-floor(h1))*60
s1 <- (m1 - floor(m1))*60
m2 <- (h2-floor(h2))*60
s2 <- (m2-floor(m2))*60
paste0(floor(h1),":",ifelse(m1<10,paste0("0",floor(m1)),floor(m1)),
       ":", ifelse(s1<10,paste0("0",round(s1,3),sep=""),round(s1,3)),
       sep="")
## [1] "3:49:04.08"
paste0(floor(h2),":",ifelse(m2<10,paste0("0",floor(m2)),floor(m2)),
       ":", ifelse(s2<10,paste0("0",round(s2,3),sep=""),round(s2,3)),
       sep="")
## [1] "8:10:55.92"

Here is a fun animation.