June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,4 +1,4 @@
$ awk 'func gcd(p,q){return(q?gcd(q,(p%q)):p)}{print gcd($1,$2)}'
$ awk 'function gcd(p,q){return(q?gcd(q,(p%q)):p)}{print gcd($1,$2)}'
12 16
4
22 33

View file

@ -0,0 +1,34 @@
import system'math.
import extensions.
gcd = (:a:b)
[
var $a := a.
var $b := b.
while($b != 0)
[
var tmp := $a.
$a := $b.
$b := tmp mod($b).
].
^ $a.
].
printGCD = (:a:b)
[
console printLineFormatted("GCD of {0} and {1} is {2}", a, b, gcd(a,b)).
].
program =
[
printGCD(1,1).
printGCD(1,10).
printGCD(10,100).
printGCD(5,50).
printGCD(8,24).
printGCD(36,17).
printGCD(36,18).
printGCD(36,19).
printGCD(36,33).
].

View file

@ -0,0 +1 @@
gcd::{:[~x;y:|~y;x:|x>y;.f(y;x!y);.f(x;y!x)]}

View file

@ -1,2 +1 @@
irb(main):001:0> 40902.gcd(24140)
=> 34
40902.gcd(24140) # => 34

View file

@ -0,0 +1,23 @@
BEGIN
INTEGER PROCEDURE GCD(a, b); INTEGER a, b;
BEGIN
IF a = 0 THEN a := b
ELSE
WHILE 0 < b DO BEGIN INTEGER i;
i := MOD(a, b); a := b; b := i;
END;
GCD := a
END;
INTEGER a, b;
!outint(SYSOUT.IMAGE.MAIN.LENGTH, 0);!OUTIMAGE;!OUTIMAGE;
!SYSOUT.IMAGE :- BLANKS(132); ! this may or may not work;
FOR b := 1 STEP 5 UNTIL 37 DO BEGIN
FOR a := 0 STEP 2 UNTIL 21 DO BEGIN
OUTTEXT(" ("); OUTINT(a, 0);
OUTCHAR(','); OUTINT(b, 2);
OUTCHAR(')'); OUTINT(GCD(a, b), 3);
END;
OUTIMAGE
END
END

View file

@ -0,0 +1,9 @@
function gcd(a_,b_) {
a = abs(a_)
b = abs(b_)
while (b>0) {
a = mod(a,b)
swap(a,b)
}
return(a)
}

View file

@ -0,0 +1,4 @@
(defun greatest-common-divisor (x y)
(if (= y 0)
x
(greatest-common-divisor y (mod x y)) ) )