optimized numberjack

This commit is contained in:
Luxferre
2025-05-04 16:58:12 +03:00
parent f2f3993770
commit a0d42f8ebd
2 changed files with 36 additions and 40 deletions
+28 -30
View File
@@ -4,7 +4,7 @@
8401461
8388668
10649660
2195491
2195489
16767489
8389890
12632194
@@ -22,24 +22,22 @@
2310269
8402946
12599426
8405251
12589571
12616066
12665091
12632450
12599042
12622210
2146590
8401410
12599426
8411779
12648707
2130206
8389890
12583169
8401411
12648579
2310269
6331190
6299196
2170484
2170482
6315709
8412801
12606977
2130164
2130162
8405180
2326535
8405438
@@ -50,26 +48,26 @@
2326550
8391297
12599681
2097315
2097313
2326535
8405439
2326535
12583359
8402817
12607361
2097390
2097388
6291972
8388672
8388673
6299583
6308485
2097873
2097871
12599045
2097869
2097867
12599045
2097863
2195539
2187347
2097861
2195537
2187345
8412801
12606977
8405180
@@ -78,40 +76,40 @@
2326535
12583359
12599232
2195539
2195537
8388801
12599232
8413057
2326550
8391297
12599681
2162906
2162904
6299583
2195491
2105535
2195489
2105533
8405383
8412929
2326550
8405382
8390657
12599681
2113765
2113763
2326535
12583358
2195548
2195546
6299455
8405889
12600065
2097394
2130161
2097392
2130159
8391297
12600065
2113777
2195491
2113775
2195489
8388865
12639873
12583100
12590780
12590780
2195491
2195489
0
+8 -10
View File
@@ -67,16 +67,14 @@ ret
; the result is in the @vc cell
:score dca 112 @vb ; set vb to 112
sub @va @vb ; set vb to va - 112
dva @vb @vc ; copy vb value into vc
add @c_13 @vc ; add 13 to vc
mul @vc @vb ; vb * vc => vb
abs @vb @vc ; abs(vb) => vc
div @vc @vb ; abs(vb) / vb => vb
dec @vb ; vb - 1 => vb
mul @c5 @vb ; vb * 5 => vb
sub @va @vb ; va - vb => vb
dva @c_hund @vc ; store 100 into vc
mdf @vb @vc ; store vb mod 100 into vc
jge @vb :skscore ; skip adding 10 if >= 112
dca 100 @vb ; set vb to 100
sub @va @vb ; set vb to va - 100
jlt @vb :skscore ; skip adding 10 if < 100
dca 10 @vb ; set vb to 10
add @vb @va ; add 10 to va value
:skscore dca 100 @vc ; set 100 to vc
mdf @va @vc ; set vc to va mod 100
ret
; main code part