Arithmetic/Rational: Difference between revisions

No edit summary
Line 3,874:
=={{header|Picat}}==
<lang Picat>
</lang>main =>
foreach (I in 2..2**19, is_perfect(I))
println(I)
Line 3,883:
divisors(N) = [I : I in 1..N, N mod I == 0].
 
% only addition is needed
add(frac(A,B), frac(C,D)) = new_fract(A*D+B*C, B*D).
 
Line 3,893 ⟶ 3,892:
sum_rationals([X]) = X.
sum_rationals([X,Y|T]) = sum_rationals([add(X,Y)|T]).
</lang>
 
{{out}}
<pre>
Anonymous user