Post Reply 
HHC 2018 Programming Contests
10-02-2018, 08:11 AM
Post: #55
RE: HHC 2018 Programming Contests
(10-01-2018 09:33 PM)Thomas Klemm Wrote:  
Quote:Moreover, the extrema cycle for 28 days is simply 7+14.n, reducing the number of comparisons from 12 to 8. The period for 23x28 and 28x33 days is also halved to 322 and 462, respectively.

This will take me a bit longer to adjust.

Here's the updated program:
Code:
01▸LBL "NED"        ; birthday
02 DATE             ; today
03 DDAYS            ; n days difference
04 RCL X            ; n         n
05 322              ; = 23 × 14
06 MOD              ; u=n%322   n
07 63               ; (17, 7)
08 X>Y?             ; 63 > u ?
09 GTO 00           ; found next U
10 RDN              ; u         n
11 259              ; (6, 7)
12 X>Y?             ; 259 > u ?
13 GTO 00           ; found next U
14 RDN              ; u         n
15 385              ; = 322 + 63
16▸LBL 00           ; U         u       n
17 X<>Y             ; u         U       n
18 -                ; ∆u        n
19 RCL Y            ; n         ∆u      n
20 759              ; = 23 × 33
21 MOD              ; v=n%759   ∆u      n
22 190              ; (6, 25)
23 X>Y?             ; 190 > v ?
24 GTO 00           ; found next V
25 RDN              ; v         ∆u      n
26 305              ; (6, 8)
27 X>Y?             ; 305 > v ?
28 GTO 00           ; found next V
29 RDN              ; v         ∆u      n
30 454              ; (17, 25)
31 X>Y?             ; 454 > v ?
32 GTO 00           ; found next V
33 RDN              ; v         ∆u      n
34 569              ; (17, 8)
35 X>Y?             ; 569 > v ?
36 GTO 00           ; found next V
37 RDN              ; v         ∆u      n
38 949              ; = 759 + 190
39▸LBL 00           ; V         v       ∆u      n
40 X<>Y             ; v         V       ∆u      n
41 -                ; ∆v        ∆u      n       n
42 X<Y?             ; ∆v < ∆u ?
43 X<>Y             ; max       min     n       n
44 RDN              ; min       n       n
45 X<>Y             ; n         min     n
46 462              ; = 14 × 33
47 MOD              ; w=n%462   min     n
48 91               ; (7, 25)
49 X>Y?             ; 91 > w ?
50 GTO 00           ; found next W
51 RDN              ; w         min     n
52 371              ; (7, 8)
53 X>Y?             ; 371 > w ?
54 GTO 00           ; found next W
55 RDN              ; w         min     n
56 553              ; = 462 + 91
57▸LBL 00           ; W         w       min     n
58 X<>Y             ; w         W       min     n
59 -                ; ∆w        min     n       n
60 X<Y?             ; ∆w < min ?
61 X<>Y             ; max       min
62 RDN              ; min       n       n
63 +                ; m = n + min
64 DATE             ; today     m       n       n
65 LASTX            ; min       today   m       n
66 DATE+            ; today+min m       n       n
67 "NED: "          ; show next extrema date
68 FIX 6            ;
69 ADATE            ;
70 AVIEW            ;
71 RDN              ; m         n
72 23               ; 23        m       n
73 XEQ 00           ; show 23
74 28               ; 28        m       n
75 XEQ 00           ; show 28
76 33               ; 33        m       n
77▸LBL 00           ; show p
78 FIX 0            ;
79 CLA              ; ""
80 ARCL X           ; "p"
81 ├": "            ; "p: "
82 RCL Y            ; m         p       m       n
83 X<>Y             ; p         m       m       n
84 /                ; m/p       m       n       n
85 360              ; 360       m/p     m       n
86 *                ; 360*m/p   m       n       n
87 SIN              ; value     m       n       n
88 100              ; 100       value   m       n
89 *                ; %value    m       n       n
90 ARCL X           ; "p: %value"
91 FIX 6            ;
92 AVIEW            ;
93 RDN              ; m         n       n
94 END              ;

Thanks again for your suggestion.

Kind regards
Thomas
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HHC 2018 Programming Contests - Joe Horn - 09-13-2018, 02:17 PM
RE: HHC 2018 Programming Contests - pier4r - 09-13-2018, 06:29 PM
RE: HHC 2018 Programming Contests - Zaphod - 09-13-2018, 10:10 PM
RE: HHC 2018 Programming Contests - Gene - 09-13-2018, 10:56 PM
RE: HHC 2018 Programming Contests - Gene - 09-14-2018, 12:06 AM
RE: HHC 2018 Programming Contests - Jlouis - 09-19-2018, 07:00 PM
RE: HHC 2018 Programming Contests - sasa - 09-19-2018, 11:17 AM
RE: HHC 2018 Programming Contests - pier4r - 09-29-2018, 07:41 PM
RE: HHC 2018 Programming Contests - 3298 - 09-30-2018, 05:32 PM
RE: HHC 2018 Programming Contests - 3298 - 09-30-2018, 08:47 PM
RE: HHC 2018 Programming Contests - Gene - 09-29-2018, 07:22 PM
RE: HHC 2018 Programming Contests - Gene - 10-01-2018, 02:55 AM
RE: HHC 2018 Programming Contests - sasa - 10-01-2018, 05:31 AM
RE: HHC 2018 Programming Contests - sasa - 10-01-2018, 09:54 AM
RE: HHC 2018 Programming Contests - 3298 - 10-01-2018, 06:37 AM
RE: HHC 2018 Programming Contests - Werner - 10-01-2018, 01:42 PM
RE: HHC 2018 Programming Contests - Werner - 10-02-2018, 06:10 AM
RE: HHC 2018 Programming Contests - Thomas Klemm - 10-02-2018 08:11 AM
RE: HHC 2018 Programming Contests - Namir - 10-04-2018, 06:09 PM
RE: HHC 2018 Programming Contests - Werner - 10-03-2018, 02:03 PM
RE: HHC 2018 Programming Contests - Werner - 10-04-2018, 05:55 AM
RE: HHC 2018 Programming Contests - 3298 - 10-04-2018, 02:48 PM
RE: HHC 2018 Programming Contests - 3298 - 10-05-2018, 08:26 PM
RE: HHC 2018 Programming Contests - 3298 - 10-06-2018, 12:07 PM
RE: HHC 2018 Programming Contests - 3298 - 10-06-2018, 04:21 PM



User(s) browsing this thread: 1 Guest(s)