Minimum primes: Difference between revisions
Content added Content deleted
No edit summary |
(Added Algol 68) |
||
Line 14: | Line 14: | ||
# Show Primes on this page. |
# Show Primes on this page. |
||
<br><br> |
<br><br> |
||
=={{header|ALGOL 68}}== |
|||
{{Trans|Wren}} |
|||
Can handle the possibility of the maximum elements being negative or 2. |
|||
<lang algol68>BEGIN # show the minimum prime >= the maximum elements of three lists # |
|||
PR read "primes.incl.a68" PR |
|||
[]BOOL prime = PRIMESIEVE 1000; # should be enough primes for this task... # |
|||
[]INT numbers1 = ( 5, 45, 23, 21, 67 ); |
|||
[]INT numbers2 = ( 43, 22, 78, 46, 38 ); |
|||
[]INT numbers3 = ( 9, 98, 12, 54, 53 ); |
|||
[ 1 : UPB numbers1 ]INT prime list; |
|||
FOR i TO UPB numbers1 DO |
|||
INT m := numbers1[ i ]; |
|||
IF numbers2[ i ] > m THEN m := numbers2[ i ] FI; |
|||
IF numbers3[ i ] > m THEN m := numbers3[ i ] FI; |
|||
# find the next prime >= m # |
|||
IF m <= 2 THEN m := 2 |
|||
ELSE |
|||
IF NOT ODD m THEN m +:= 1 FI; |
|||
WHILE NOT prime[ m ] DO m +:= 2 OD |
|||
FI; |
|||
prime list[ i ] := m |
|||
OD; |
|||
print( ( "[" ) ); |
|||
FOR i TO UPB prime list DO print( ( " ", whole( prime list[ i ], 0 ) ) ) OD; |
|||
print( ( " ]" ) ) |
|||
END</lang> |
|||
{{out}} |
|||
<pre> |
|||
[ 43 101 79 59 67 ] |
|||
</pre> |
|||
=={{header|C}}== |
=={{header|C}}== |