Proper divisors: Difference between revisions

→‎{{header|Factor}}: count divisors, don't store them
(→‎{{header|Factor}}: count divisors, don't store them)
Line 1,627:
 
=={{header|Factor}}==
<lang factor>USING: formatting io kernel math math.functions
<lang Factor>
USING: math.primes.factors math.ranges prettyprint sequences ;
 
10 [1,b] [ divisors but-last ] map [ 1 + pprint bl . ] each-index
: #divisors ( m -- n )
20000 [1,b] [ divisors but-last length ] map dup supremum
dup sqrt >integer 1 + [1,b] [ divisor? ] with count dup +
swap dupd index 1 + pprint " with " write pprint " divisors." print
1 - ;
</lang>
 
10 [1,b] [ dup pprint bl divisors but-last ] map [ 1 + pprint bl . ] each-index
20000 [1,b] [ #divisors but-last length ] mapsupremum-by dup supremum#divisors
"%d with %d divisors.\n" printf</lang>
 
{{out}}
1,827

edits