Project Euler/198: Difference between revisions
From charlesreid1
No edit summary |
|||
| Line 9: | Line 9: | ||
How many ambiguous numbers <math>x=\frac p q, 0 < x < \frac 1 {100}</math>, are there whose denominator q does not exceed <math>10^8</math>?</p> | How many ambiguous numbers <math>x=\frac p q, 0 < x < \frac 1 {100}</math>, are there whose denominator q does not exceed <math>10^8</math>?</p> | ||
==Technique== | |||
Start with a program that won't scale, and generate intermediate solutions (smaller values of q limit) that we can trust. That way, we can introduce optimizations, be confident they aren't changing answers, and scale further. | |||
q < 10,000 is very fast to compute, but q < 1,000,000 can take way, way longer. | |||
==Flags== | ==Flags== | ||
{{ProjectEulerFlag}} | {{ProjectEulerFlag}} | ||
Revision as of 01:04, 16 April 2025
Problem Statement
A best approximation to a real number x for the denominator bound d is a rational number $ \frac r s $ (in reduced form) with $ s \le d $, so that any rational number $ \frac p q $ which is closer to x than $ \frac r s $ has $ q > d $
Usually the best approximation to a real number is uniquely determined for all denominator bounds. However, there are some exceptions, e.g. $ \frac 9 {40} $ has the two best approximations $ \frac 1 4 $ and $ \frac 1 5 $ for the denominator bound 6. We shall call a real number x ambiguous if there is at least one denominator bound for which x possesses two best approximations. Clearly, an ambiguous number is necessarily rational. How many ambiguous numbers $ x=\frac p q, 0 < x < \frac 1 {100} $, are there whose denominator q does not exceed $ 10^8 $?
Technique
Start with a program that won't scale, and generate intermediate solutions (smaller values of q limit) that we can trust. That way, we can introduce optimizations, be confident they aren't changing answers, and scale further.
q < 10,000 is very fast to compute, but q < 1,000,000 can take way, way longer.
Flags