Raspberry BASIC > Programming Challenges

SALC Rasbian 32

(1/7) > >>

John Spikowski:
I 'm going to take this challenge one more round and add a string and array  to the mix.

FYI:  This site is a forum and not my blog. Without contributing members it will soon become dormant. It only takes a minute to register. It's okay to be a member of multiple forums and I'm pretty sure the RPi moderators won't ban you if you appear here.

John Spikowski:
ScriptBasic

The array part takes 4 seconds of the total time.,


--- Code: Script BASIC ---' ScriptBasic - 1mil3.sb s = ""t = ""SPLITA STRING(1000001,"0") BY "" TO a FOR x = 1 TO 1000000  s &= CHR(((x - 1) % 26) + 65)  a[x] = x  IF LEN(s) = 26 THEN    t &= s    s = ""  END IFNEXTr = STRREVERSE(t)PRINT "r LEN: ",LEN(r),"\n"PRINT "Front: ",LEFT(r, 26),"\n"PRINT "Back:  ",RIGHT(r, 26),"\n"PRINT "UBVal: ",a[1000000],"\n" 

pi@RPi4B:~/sbrt/examples $ /usr/bin/time scriba 1mil3.sb
r LEN: 999986
Front: ZYXWVUTSRQPONMLKJIHGFEDCBA
Back:  ZYXWVUTSRQPONMLKJIHGFEDCBA
UBVal: 1000000
15.64user 34.88system 0:50.55elapsed 99%CPU (0avgtext+0avgdata 172504maxresident)k
536inputs+0outputs (2major+4122825minor)pagefaults 0swaps
pi@RPi4B:~/sbrt/examples $

John Spikowski:
8th  (Jalih submission)


--- Code: Text ---: plus-minus  n:1+  swap  n:1-  swap  2dup n:= if    "Middle\n" .  then ; : app:main  1000000 0  ' plus-minus 1000000 times  "Plus: %d\nMinus: %d\n" s:strfmt .  bye ; 

pi@RPi4B:~/8th-dev/examples $ /usr/bin/time ./mil
Middle
Plus: 1000000
Minus: 0
0.41user 0.03system 0:00.45elapsed 96%CPU (0avgtext+0avgdata 6944maxresident)k
0inputs+0outputs (0major+340minor)pagefaults 0swaps
pi@RPi4B:~/8th-dev/examples $

John Spikowski:
BaCon


--- Code: Text ---' BaCon - 1mil3.bac s$ = ""t$ = ""DECLARE a[1000001] TYPE NUMBER FOR x = 1 TO 1000000  s$ = s$ & CHR$(MOD((x - 1), 26) + 65)  a[x] = x  IF LEN(s$) = 26 THEN    t$ = t$ & s$    s$ = ""  END IFNEXTr$ = REVERSE$(t$)PRINT "r LEN: ",LEN(r$)PRINT "Front: ",LEFT$(r$, 26)PRINT "Back:  ",RIGHT$(r$, 26)PRINT "UBVal: ",a[1000000] 

pi@RPi4B:~/bacon-dev/examples $ bacon 1mil3.bac
Converting '1mil3.bac'... done, 21 lines were processed in 0.053 seconds.
Compiling '1mil3.bac'... cc  -c 1mil3.bac.c
cc -o 1mil3 1mil3.bac.o -lbacon -L. -lm 
Done, program '1mil3' ready.
pi@RPi4B:~/bacon-dev/examples $ ls -l 1mil3
-rwxr-xr-x 1 pi pi 109628 Nov 29 20:32 1mil3
pi@RPi4B:~/bacon-dev/examples $ /usr/bin/time ./1mil3
r LEN: 999986
Front: ZYXWVUTSRQPONMLKJIHGFEDCBA
Back:  ZYXWVUTSRQPONMLKJIHGFEDCBA
UBVal: 1000000
12.99user 0.00system 0:13.02elapsed 99%CPU (0avgtext+0avgdata 9356maxresident)k
0inputs+0outputs (0major+2157minor)pagefaults 0swaps
pi@RPi4B:~/bacon-dev/examples $

John Spikowski:
FreeBasic


--- Code: FreeBasic ---' FreeBasic - 1mil3.bas DIM s AS STRINGDIM t AS STRINGDIM r AS STRINGDIM SHARED a(1000001) AS INTEGERDIM x AS INTEGER FOR x = 1 TO 1000000  s &= CHR(((x - 1) MOD 26) + 65)  a(x) += x  IF LEN(s) = 26 THEN    t &= s    s = ""  ENDIFNEXT FOR x = LEN(t) TO 1 STEP -1  r &= MID(t,x,1)NEXT PRINT "r LEN: " & LEN(r)PRINT "Front: " & LEFT(r, 26)PRINT "Back:  " & RIGHT(r, 26)PRINT "UBVal: " & a(1000000) 

pi@RPi4B:~/freebasic-dev/examples $ fbc 1mil3.bas
pi@RPi4B:~/freebasic-dev/examples $ ls -l 1mil3
-rwxr-xr-x 1 pi pi 30640 Nov 28 16:40 1mil3
pi@RPi4B:~/freebasic-dev/examples $ /usr/bin/time ./1mil3
r LEN: 999986
Front: ZYXWVUTSRQPONMLKJIHGFEDCBA
Back:  ZYXWVUTSRQPONMLKJIHGFEDCBA
UBVal: 1000000
0.53user 0.05system 0:00.60elapsed 96%CPU (0avgtext+0avgdata 7848maxresident)k
0inputs+0outputs (0major+2623minor)pagefaults 0swaps
pi@RPi4B:~/freebasic-dev/examples $

Navigation

[0] Message Index

[#] Next page

Go to full version