Largest prime factor: Difference between revisions
→{{header|ALGOL 68}}: Optimisation and more test cases
(→{{header|ALGOL 68}}: another bug fix) |
(→{{header|ALGOL 68}}: Optimisation and more test cases) |
||
Line 23:
# odd factors #
LONG INT k := 3;
WHILE k <= root
WHILE v MOD k = 0 AND v > 1 DO
max factor := k;
v OVERAB k
Line 32 ⟶ 33:
IF v > 1 THEN v ELSE max factor FI
FI # max prime factor # ;
# test the max prime factor routine #
print( ( "Largest prime factor of ", whole( n, 0 ), " is ", whole( max prime factor( n ), 0 ), newline ) );
# test cases #
test( 600 851 475 143 );
test( 6 008 );
test( 751 )
END</lang>
{{out}}
<pre>
Largest prime factor of 600851475143 is 6857
Largest prime factor of 6008 is 751
Largest prime factor of 751 is 751
</pre>
|