Proper divisors: Difference between revisions

Added Forth
(add fermat)
(Added Forth)
Line 2,311:
10 1, 2, 5
The number up to 20,000 with the most divisors was 15120 with 79 divisors.</pre>
 
 
=={{header|Forth}}==
 
{{works with|gforth|0.7.3}}
 
<lang forth>: .proper-divisors
dup 1 ?do
dup i mod 0= if i . then
loop cr drop
;
 
: proper-divisors-count
0 swap
dup 1 ?do
dup i mod 0= if swap 1 + swap then
loop drop
;
 
: rosetta-proper-divisors
cr
11 1 do
i . ." : " i .proper-divisors
loop
 
1 0
20000 2 do
i proper-divisors-count
2dup < if nip nip i swap else drop then
loop
swap cr . ." has " . ." divisors" cr
;
 
rosetta-proper-divisors</lang>
 
{{out}}
<pre>1 :
2 : 1
3 : 1
4 : 1 2
5 : 1
6 : 1 2 3
7 : 1
8 : 1 2 4
9 : 1 3
10 : 1 2 5
 
15120 has 79 divisors
ok</pre>
 
 
=={{header|Fortran}}==
Anonymous user