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