← RoseCode

ROSECODE 220

Fusible Numbers I

Philippe_57721 · Programming ·

Fusible numbers are an extraordinary set of rational numbers. You can learn more here.

There are defined by the following rules:
  • We define the operation ~ between 2 reals as a ~ b = (a + b + 1)/2
  • 0 is a fusible number
  • c is a fusible number is there exist fusible numbers a & b such as c = a ~ b AND |a - b| < 1
Here are some examples:
1/2 = 0~0
  1 = (0~0)~(0~0)
5/4 = (0~0)~((0~0)~(0~0))
It is easy to see that all fusible numbers other than 0 can be written p/2^q for some integers p & q where p is odd.

Find all fusible numbers in the interval ] 1/2 , 5/4 [ (bounds excluded) with a denominator ≤ 128

Answer format : comma separated list in ascending order
(We represent a fusible number p/2^q as p.q. E.g: 3/4 = 3.2)

Example : 15.4,63.6,1.0,5.1

[My timing: < 1 sec]