Product of min and max prime factors: Difference between revisions

From Rosetta Code
Content added Content deleted
(New draft task and Raku entry)
 
(Added Wren)
Line 32: Line 32:
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|Wren}}==
{{libheader|Wren-math}}
{{libheader|Wren-fmt}}
<syntaxhighlight lang="ecmascript">import "./math" for Int
import "./fmt" for Fmt

var prods = List.filled(100, 0)
prods[0] = 1
for (i in 2..100) {
var factors = Int.primeFactors(i)
prods[i-1] = factors[0] * factors[-1]
}
System.print("Product of smallest and greatest prime factors of n for 1 to 100:")
Fmt.tprint("$4d", prods, 10)</syntaxhighlight>

{{out}}
<pre>
Product of smallest and greatest prime factors of n for 1 to 100:
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>

Revision as of 21:01, 27 September 2022

Product of min and max prime factors is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Exactly as the task title implies.


Task
  • Find and display the product of the minimum and maximum prime factors for the terms 1 through 100, inclusive.


For some unknown reason, the term for 1 is defined to be 1.
An equal case could be made that it should be 0 in my opinion.
A even stronger case that it should be 'undefined' or NaN. ¯\_(ツ)_/¯


See also


Raku

use Prime::Factor;
put "Product of smallest and greatest prime factors of n for 1 to 100:\n" ~
  (1..100).map({ 1 max .max × .min given cache .&prime-factors })».fmt("%4d").batch(10).join: "\n";
Output:
Product of smallest and greatest prime factors of n for 1 to 100:
   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

Wren

Library: Wren-math
Library: Wren-fmt
import "./math" for Int
import "./fmt" for Fmt

var prods = List.filled(100, 0)
prods[0] = 1
for (i in 2..100) {
    var factors = Int.primeFactors(i)
    prods[i-1] = factors[0] * factors[-1]
}
System.print("Product of smallest and greatest prime factors of n for 1 to 100:")
Fmt.tprint("$4d", prods, 10)
Output:
Product of smallest and greatest prime factors of n for 1 to 100:
   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