### Random Post

### Recent Posts

- Tantalizer 450: Marriage problems
- Enigma 1057: Recycled change
- Enigma 452: Figure out these letters
- Puzzle 46: I lose my specs
- Enigma 1058: A row of colours
- Enigma 451: Double halved
- Tantalizer 451: Death rates
- Enigma 1059: Century break
- Enigma 450: A pentagonal problem
- Puzzle 48: Verse on the island

### Recent Comments

Jim Randell on Tantalizer 450: Marriage … | |

Brian Gladman on Enigma 1057: Recycled cha… | |

Jim Randell on Enigma 1057: Recycled cha… | |

geoffrounce on Enigma 452: Figure out these… | |

Jim Randell on Enigma 452: Figure out these… |

### Archives

### Categories

- article (11)
- enigma (1,183)
- misc (2)
- project euler (2)
- puzzle (46)
- site news (46)
- tantalizer (50)
- teaser (3)

### Site Stats

- 184,975 hits

Advertisements

This Python program is an expansion of the Perl code I wrote originally to solve the problem. It checks possible temperatures for the first reading (from 20.0°C to 200.0°C in increments of 0.1°C), computes the errors for each thermometer and then finds the value for which the calculated second temperatures for each thermometer are closest. It runs in 44ms.

Solution:The true temperature is 80°C.And here’s an algebraic solution using SymPy.

I think this one can be done with pencil and paper. Let’s suppose the readings need to be multiplied by c and f respectively to give the true temperatures:

1.8 × 76.3 c = 150.1 f – 32

1.8 × 98.1 c = 184.3 f – 32

Not the neatest pair of simultaneous equations, but they can be solved to give f = 20/19 = 1/0.95.

So we divide 167.2 by 0.95 to give 176°F = 80° Celsius. That’s probably what you’re doing, but less transparently!

I have to say it’s a most unreasonable assumption that a thermometer would have an error proportional to the difference from some arbitrary point (the freezing point of water or the temperature of Herr Fahrenheit’s ice & salt mixture). I have one where the crossover point appears to be about 12.5°, but the slope could just as easily be negative.