Sort primes from list to a list: Difference between revisions
(Added XPL0 example.) |
(Added Wren) |
||
Line 71: | Line 71: | ||
103 |
103 |
||
done... |
done... |
||
</pre> |
|||
=={{header|Wren}}== |
|||
{{libheader|Wren-math}} |
|||
<lang ecmascript>import "./math" for Int |
|||
var lst = [2, 43, 81, 122, 63, 13, 7, 95, 103] |
|||
System.print(lst.where { |e| Int.isPrime(e) }.toList.sort())</lang> |
|||
{{out}} |
|||
<pre> |
|||
[2, 7, 13, 43, 103] |
|||
</pre> |
</pre> |
||
Revision as of 16:19, 22 January 2022
- Task
Let given list:
Primes = [2,43,81,122,63,13,7,95,103]
Show on this page the ascending ordered list of primes from given list.
ALGOL 68
<lang algol68>BEGIN # extract the elements of a list that are prime and sort them #
PR read "primes.incl.a68" PR # include prime utilities # PR read "rows.incl.a68" PR # include row (array) utilities # # list of numbers required by the task # []INT list = ( 2, 43, 81, 122, 63, 13, 7, 95, 103 ); [ 1 : UPB list ]INT prime list; # count the nunber of primes in list and assign the primes to prime list # INT p count := 0; FOR i TO UPB list DO IF is probably prime( list[ i ] ) THEN # have a prime # prime list[ p count +:= 1 ] := list[ i ] FI OD; print( ( "prime elements of: " ) ); SHOW list; print( ( newline, " are: " ) ); SHOW ( QUICKSORT prime list FROMELEMENT 1 TOELEMENT p count )[ 1 : p count ]
END</lang>
- Output:
Prime elements of: 2 43 81 122 63 13 7 95 103 are: 2 7 13 43 103
Raku
<lang perl6>put <2 43 81 122 63 13 7 95 103>.grep( &is-prime ).sort</lang>
- Output:
2 7 13 43 103
Ring
<lang ring> load "stdlibcore.ring" ? "working"
Primes = [2,43,81,122,63,13,7,95,103] Temp = []
for n = 1 to len(Primes)
if isprime(Primes[n]) add(Temp,Primes[n]) ok
next
Temp = sort(Temp) ? Temp ? "done..." </lang>
- Output:
working Primes are: 2 7 13 43 103 done...
Wren
<lang ecmascript>import "./math" for Int
var lst = [2, 43, 81, 122, 63, 13, 7, 95, 103] System.print(lst.where { |e| Int.isPrime(e) }.toList.sort())</lang>
- Output:
[2, 7, 13, 43, 103]
XPL0
<lang XPL0>include xpllib; int Primes, Smallest, I, SI; def Len=9, Inf=1000; [Primes:= [2,43,81,122,63,13,7,95,103]; repeat Smallest:= Inf;
for I:= 0 to Len-1 do if Primes(I) < Smallest then [Smallest:= Primes(I); SI:= I]; Primes(SI):= Inf; \cross off if IsPrime(Smallest) then [IntOut(0, Smallest); ChOut(0, ^ )];
until Smallest = Inf; ]</lang>
- Output:
2 7 13 43 103