Anonymous user
Greatest common divisor: Difference between revisions
m
no edit summary
(Added BBC BASIC) |
mNo edit summary |
||
Line 1,347:
ProcedureReturn y
EndProcedure</lang>
=={{header|Purity}}==
<lang Purity>
data Iterate = f => FoldNat <const id, g => $g . $f>
data Sub = Iterate Pred
data IsZero = <const True, const False> . UnNat
data Eq = FoldNat
<
const IsZero,
eq => n => IfThenElse (IsZero $n)
False
($eq (Pred $n))
>
data step = gcd => n => m =>
IfThenElse (Eq $m $n)
(Pair $m $n)
(IfThenElse (Compare Leq $n $m)
($gcd (Sub $m $n) $m)
($gcd (Sub $n $m) $n))
data gcd = Iterate (gcd => uncurry (step (curry $gcd)))
</lang>
=={{header|Python}}==
|