Product of min and max prime factors: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add C) |
Not a robot (talk | contribs) (Add BCPL) |
||
Line 89: | Line 89: | ||
9 82 6889 14 85 86 87 22 7921 10 |
9 82 6889 14 85 86 87 22 7921 10 |
||
91 46 93 94 95 6 9409 14 33 10</pre> |
91 46 93 94 95 6 9409 14 33 10</pre> |
||
=={{header|BCPL}}== |
|||
<syntaxhighlight lang="bcpl">get "libhdr" |
|||
manifest $( MAX = 100 $) |
|||
let sieve(prime, max) be |
|||
$( let p = 2 |
|||
0!prime := false |
|||
1!prime := false |
|||
for i = p to max do i!prime := true |
|||
while p*p <= max |
|||
$( let c = p*p |
|||
while c <= max |
|||
$( c!prime := false |
|||
c := c + p |
|||
$) |
|||
p := p + 1 |
|||
$) |
|||
$) |
|||
let lofac(prime, n) = |
|||
n=1 -> 1, |
|||
valof for f = 2 to n |
|||
if f!prime & n rem f=0 resultis f |
|||
let hifac(prime, n) = |
|||
n=1 -> 1, |
|||
valof for f = n to 2 by -1 |
|||
if f!prime & n rem f=0 resultis f |
|||
let start() be |
|||
$( let prime = vec MAX |
|||
sieve(prime, MAX) |
|||
for i = 1 to MAX |
|||
$( writed(lofac(prime, i) * hifac(prime, i), 6) |
|||
if i rem 10 = 0 do wrch('*N') |
|||
$) |
|||
$)</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|C}}== |
=={{header|C}}== |