Post #2085783
2026-04-20 11:08 UTC
For what it's worth (very little!) here's that 8.11 second version in (very) BBC Basic:
```
0 T%=TIME
1 N%=20: L%=10*N%/3: DIM A%(255): Z$="000000":T$="999999"
2 FORI%=1TOL%:A%(I%)=2:NEXT: M%=0:P%=0:FORJ%=1TON%:Q%=0:K%=2*L%+1
3 FORI%=L%TO1STEP-1:K%=K%-2:X%=A%(I%)*&A+I%*Q%:Q%=X%DIVK%:A%(I%)=X%-K%*Q%:NEXT:Y%=Q%DIV&A:A%(1)=Q%-Y%*&A:Q%=Y%:IFQ%<9PRINT;P%LEFT$(T$,M%);:P%=Q%:M%=0:NEXTELSEIFQ%=9M%=M%+1:NEXTELSEPRINT;P%+1LEFT$(Z$,M%);:P%=0:M%=0:NEXT
4 PRINT;P%:PRINT (TIME-T%)/100;" seconds"
```
Run in browser here:
https://bbcmic.ro/#%7B%22v%22%3A1%2C%22program%22%3A%220%20T%25%3DTIME%5Cn1%20N%25%3D20%3A%20L%25%3D10*N%25%2F3%3A%20DIM%20A%25%28255%29%3A%20Z%24%3D%5C%22000000%5C%22%3AT%24%3D%5C%22999999%5C%22%5Cn2%20FORI%25%3D1TOL%25%3AA%25%28I%25%29%3D2%3ANEXT%3A%20M%25%3D0%3AP%25%3D0%3AFORJ%25%3D1TON%25%3AQ%25%3D0%3AK%25%3D2*L%25%2B1%5Cn3%20FORI%25%3DL%25TO1STEP-1%3AK%25%3DK%25-2%3AX%25%3DA%25%28I%25%29*%26A%2BI%25*Q%25%3AQ%25%3DX%25DIVK%25%3AA%25%28I%25%29%3DX%25-K%25*Q%25%3ANEXT%3AY%25%3DQ%25DIV%26A%3AA%25%281%29%3DQ%25-Y%25*%26A%3AQ%25%3DY%25%3AIFQ%25%3C9PRINT%3BP%25LEFT%24%28T%24%2CM%25%29%3B%3AP%25%3DQ%25%3AM%25%3D0%3ANEXTELSEIFQ%25%3D9M%25%3DM%25%2B1%3ANEXTELSEPRINT%3BP%25%2B1LEFT%24%28Z%24%2CM%25%29%3B%3AP%25%3D0%3AM%25%3D0%3ANEXT%5Cn4%20PRINT%3BP%25%3APRINT%20%28TIME-T%25%29%2F100%3B%5C%22%20seconds%5C%22%22%7D
@electron_greg
Replies (1)
-
@geoffl@mastodon.me.uk 2026-04-20 11:28
@EdS You can shave off another 0.03 seconds by Defining B%=&A and replacing the three references to &A with B%. @electron_greg