Product of min and max prime factors: Difference between revisions
Moved Nim entry at the right place.
(Created Nim solution.) |
(Moved Nim entry at the right place.) |
||
Line 1,361:
91 46 93 94 95 6 9409 14 33 10
</pre>
=={{header|Nim}}==▼
<syntaxhighlight lang="Nim">import std/strformat▼
func primeFactors(n: Positive): seq[Natural] =▼
if n == 1: return @[1]▼
var n = n▼
var d = 2▼
while d * d <= n:▼
if n mod d == 0:▼
result.add d▼
while n mod d == 0:▼
n = n div d▼
inc d▼
if n != 1: result.add n▼
for n in 1..100:▼
let pf = n.primeFactors▼
stdout.write &"{pf[0] * pf[^1]:4}"▼
stdout.write if n mod 10 == 0: '\n' else: ' '▼
</syntaxhighlight>▼
{{out}}▼
<pre> 1 4 9 4 25 6 49 4 9 10▼
121 6 169 14 15 4 289 6 361 10▼
21 22 529 6 25 26 9 14 841 10▼
961 4 33 34 35 6 1369 38 39 10▼
1681 14 1849 22 15 46 2209 6 49 10▼
51 26 2809 6 55 14 57 58 3481 10▼
3721 62 21 4 65 22 4489 34 69 14▼
5041 6 5329 74 15 38 77 26 6241 10▼
9 82 6889 14 85 86 87 22 7921 10▼
91 46 93 94 95 6 9409 14 33 10▼
>pre>▼
=={{header|MAD}}==
Line 1,495 ⟶ 1,461:
9 82 6889 14 85 86 87 22 7921 10
91 46 93 94 95 6 9409 14 33 10</pre>
▲=={{header|Nim}}==
▲<syntaxhighlight lang="Nim">import std/strformat
▲func primeFactors(n: Positive): seq[Natural] =
▲ if n == 1: return @[1]
▲ var n = n
▲ var d = 2
▲ while d * d <= n:
▲ if n mod d == 0:
▲ result.add d
▲ while n mod d == 0:
▲ n = n div d
▲ inc d
▲ if n != 1: result.add n
▲for n in 1..100:
▲ let pf = n.primeFactors
▲ stdout.write &"{pf[0] * pf[^1]:4}"
▲ stdout.write if n mod 10 == 0: '\n' else: ' '
▲</syntaxhighlight>
▲{{out}}
▲<pre> 1 4 9 4 25 6 49 4 9 10
▲ 121 6 169 14 15 4 289 6 361 10
▲ 21 22 529 6 25 26 9 14 841 10
▲ 961 4 33 34 35 6 1369 38 39 10
▲1681 14 1849 22 15 46 2209 6 49 10
▲ 51 26 2809 6 55 14 57 58 3481 10
▲3721 62 21 4 65 22 4489 34 69 14
▲5041 6 5329 74 15 38 77 26 6241 10
▲ 9 82 6889 14 85 86 87 22 7921 10
▲ 91 46 93 94 95 6 9409 14 33 10
▲>pre>
=={{header|Perl}}==
|