An Egyptian number is a positive integer that can be expressed as a sum of positive integers, not necessarily distinct, such that the sum of their reciprocals is 1. For example, 32 = 2 + 3 + 9 + 18 is Egyptian because 1/2+1/3+1/9+1/18=1 . Prove that all integers greater than 23 are Egyptian.
(In reply to
Lucky numbers? by xdog)
To complete the proof offered there (with 2a+2 and 2a+9 both being Egyptian when a is Egyptian):
The program produces the necessary Egyptian breakdown of nos. 24 - 55, which I have sorted manually below the program:
DECLARE SUB addOn ()
CLEAR , , 25000
DEFDBL A-Z
DIM SHARED done(23 TO 55), highneeded, memb, tot, rectot, maxmemb
maxmemb = 12
DIM SHARED lst(maxmemb)
highneeded = 55
memb = 0
addOn
SUB addOn
IF memb = 0 THEN strt = 1: ELSE strt = lst(memb)
FOR newOne = strt TO highneeded
IF newOne + tot <= highneeded THEN
tot = tot + newOne
saverectot = rectot
rectot = rectot + 1 / newOne
memb = memb + 1
lst(memb) = newOne
IF tot >= 24 THEN
IF done(tot) = 0 THEN
IF ABS(rectot - 1) < .00000001# THEN
done(tot) = 1
PRINT tot,
FOR i = 1 TO memb
PRINT lst(i);
NEXT: PRINT
WHILE done(highneeded - 1) = 1 AND done(highneeded) = 1
highneeded = highneeded - 1
IF highneeded = 23 THEN END
WEND
END IF
END IF
END IF
IF rectot < 1 AND memb < maxmemb THEN
addOn
END IF
tot = tot - newOne
rectot = saverectot
memb = memb - 1
ELSE
EXIT FOR
END IF
NEXT newOne
END SUB
24 2 4 6 12
25 5 5 5 5 5
26 4 4 6 6 6
27 3 6 6 6 6
28 4 4 4 8 8
29 2 3 12 12
30 2 3 10 15
31 2 4 5 20
32 2 3 9 18
33 3 3 9 9 9
34 2 8 8 8 8
35 2 6 9 9 9
36 2 6 8 8 12
37 2 3 8 24
38 2 6 6 12 12
39 2 6 6 10 15
40 4 4 8 8 8 8
41 2 6 6 9 18
42 2 4 12 12 12
43 2 4 10 12 15
44 3 3 6 8 24
45 2 4 9 12 18
46 2 4 8 16 16
47 3 4 8 8 12 12
48 3 4 8 8 10 15
49 3 4 6 12 12 12
50 2 4 8 12 24
51 3 3 5 10 30
52 2 5 5 20 20
53 2 5 6 10 30
54 2 3 7 42
55 2 4 7 14 28
|
Posted by Charlie
on 2013-02-11 11:09:19 |