diff options
Diffstat (limited to 'gnu/usr.bin/bc/Examples')
| -rw-r--r-- | gnu/usr.bin/bc/Examples/ckbook.b | 16 | ||||
| -rw-r--r-- | gnu/usr.bin/bc/Examples/primes.b | 32 |
2 files changed, 48 insertions, 0 deletions
diff --git a/gnu/usr.bin/bc/Examples/ckbook.b b/gnu/usr.bin/bc/Examples/ckbook.b new file mode 100644 index 00000000000..5815ea02075 --- /dev/null +++ b/gnu/usr.bin/bc/Examples/ckbook.b @@ -0,0 +1,16 @@ +scale=2 +print "\nCheck book program!\n" +print " Remember, deposits are negative transactions.\n" +print " Exit by a 0 transaction.\n\n" + +print "Initial balance? "; bal = read() +bal /= 1 +print "\n" +while (1) { + "current balance = "; bal + "transaction? "; trans = read() + if (trans == 0) break; + bal -= trans + bal /= 1 +} +quit diff --git a/gnu/usr.bin/bc/Examples/primes.b b/gnu/usr.bin/bc/Examples/primes.b new file mode 100644 index 00000000000..4bef8e8cd69 --- /dev/null +++ b/gnu/usr.bin/bc/Examples/primes.b @@ -0,0 +1,32 @@ + +/* An example that finds all primes between 2 and limit. */ + +define primes (limit) { + auto prime[], num, p, root, i + + prime[1] = 2; + prime[2] = 3; + num = 2; + if (limit >= 2) print "prime 1 = 2\n" + if (limit >= 3) print "prime 2 = 3\n"; + scale = 0; + + for ( p=5; p <= limit; p += 2) { + root = sqrt(p); + isprime = 1; + for ( i = 1; i < num && prime[i] <= root; i++ ) { + if ( p % prime[i] == 0 ) { + isprime = 0; + break; + } + } + if (isprime) { + num += 1; + prime [num] = p; + print "prime ", num, " = ", p, "\n" + } + } +} + + +print "\ntyping 'primes (10)' will print all primes less than 10.\n" |
