Raspberry BASIC > Programming Challenges

One Mil Dash

(1/3) > >>

John Spikowski:
ScriptBasic


--- Code: Script BASIC ---' ScriptBasic - 1mil.sb accum = 0milvar = 1000000 FOR x = 1 TO 1000000  accum += 1  milvar -= 1  IF accum = milvar THEN PRINT "Middle\n"NEXTPRINT "Plus:  ",accum,"\n"PRINT "Minus: ",milvar,"\n" 

pi@RPi4B:~/sbrt/examples $ /usr/bin/time scriba 1mil.sb
Middle
Plus:  1000000
Minus: 0
2.18user 0.00system 0:02.21elapsed 99%CPU (0avgtext+0avgdata 1972maxresident)k
520inputs+0outputs (1major+108minor)pagefaults 0swaps
pi@RPi4B:~/sbrt/examples $

John Spikowski:
BaCon


--- Code: Text ---' BaCon - 1mil.bac accum = 0milvar = 1000000 FOR x = 1 TO 1000000  accum = accum + 1  milvar = milvar -1  IF accum = milvar THEN PRINT "Middle"NEXTPRINT "Plus:  ",accumPRINT "Minus: ",milvar 

pi@RPi4B:~/bacon-dev/examples $ bacon 1mil.bac
Converting '1mil.bac'... done, 13 lines were processed in 0.035 seconds.
Compiling '1mil.bac'... cc  -c 1mil.bac.c
cc -o 1mil 1mil.bac.o -lbacon -L. -lm 
Done, program '1mil' ready.
pi@RPi4B:~/bacon-dev/examples $ ls -l 1mil
-rwxr-xr-x 1 pi pi 49968 Nov 25 21:03 1mil
pi@RPi4B:~/bacon-dev/examples $ /usr/bin/time ./1mil
Middle
Plus:  1000000
Minus: 0
0.03user 0.00system 0:00.03elapsed 96%CPU (0avgtext+0avgdata 1536maxresident)k
0inputs+0outputs (0major+84minor)pagefaults 0swaps
pi@RPi4B:~/bacon-dev/examples $

John Spikowski:
FreeBasic


--- Code: FreeBasic ---' FreeBasic - 1mil.bas DIM accum AS Integer = 0DIM milvar AS Integer = 1000000DIM x AS Integer FOR x = 1 TO 1000000  accum += 1  milvar -= 1  IF accum = milvar THEN PRINT "Middle"NEXTPRINT "Plus:  ",accumPRINT "Minus: ",milvar 

pi@RPi4B:~/freebasic-dev/examples $ fbc 1mil.bas
pi@RPi4B:~/freebasic-dev/examples $ ls -l 1mil
-rwxr-xr-x 1 pi pi 30092 Nov 25 21:13 1mil
pi@RPi4B:~/freebasic-dev/examples $ /usr/bin/time ./1mil
Middle
Plus:          1000000
Minus:         0
0.00user 0.01system 0:00.06elapsed 34%CPU (0avgtext+0avgdata 2072maxresident)k
0inputs+0outputs (0major+125minor)pagefaults 0swaps
pi@RPi4B:~/freebasic-dev/examples $

John Spikowski:
C


--- Code: C ---// C - 1mil.c #include <stdio.h> int main (int argc, char** argv){int accum = 0;int milvar = 1000000;int x; for(x = 1; x <=  1000000; ++x)  {    ++ accum;    -- milvar;    if(accum == milvar) printf("Middle\n");  }  printf("Plus:  %d\n", accum);  printf("Minus: %d\n", milvar);  return 0;} 

pi@RPi4B:~/c-dev/examples $ gcc 1mil.c -o 1mil
pi@RPi4B:~/c-dev/examples $ ls -l 1mil
-rwxr-xr-x 1 pi pi 8016 Nov 25 21:24 1mil
pi@RPi4B:~/c-dev/examples $ /usr/bin/time ./1mil
Middle
Plus:  1000000
Minus: 0
0.02user 0.00system 0:00.02elapsed 100%CPU (0avgtext+0avgdata 1208maxresident)k
0inputs+0outputs (0major+73minor)pagefaults 0swaps
pi@RPi4B:~/c-dev/examples $

John Spikowski:
Perl


--- Code: Perl ---# Perl - 1mil.pl my $accum = 0;my $milvar = 1000000; for (my $i=1; $i <= 1000000; $i++) {  $accum++;  $milvar--;  if($accum == $milvar){    printf("Middle\n");  }}printf("Plus:  %d\n", $accum);printf("Minus: %d\n", $milvar); 

pi@RPi4B:~/perl-dev/examples $ /usr/bin/time perl 1mil.pl
Middle
Plus:  1000000
Minus: 0
0.33user 0.01system 0:00.34elapsed 99%CPU (0avgtext+0avgdata 3976maxresident)k
24inputs+0outputs (1major+186minor)pagefaults 0swaps
pi@RPi4B:~/perl-dev/examples $

Navigation

[0] Message Index

[#] Next page

Go to full version