Almost prime: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add COBOL) |
Not a robot (talk | contribs) (Add Draco) |
||
Line 1,256: | Line 1,256: | ||
K = 5: 32 48 72 80 108 112 120 162 168 176 |
K = 5: 32 48 72 80 108 112 120 162 168 176 |
||
</pre> |
</pre> |
||
=={{header|Draco}}== |
|||
<lang draco>proc nonrec kprime(word n, k) bool: |
|||
word f, p; |
|||
f := 0; |
|||
p := 2; |
|||
while f < k and p*p <= n do |
|||
while n%p = 0 do |
|||
n := n/p; |
|||
f := f+1 |
|||
od; |
|||
p := p+1 |
|||
od; |
|||
if n>1 then f+1 = k |
|||
else f = k |
|||
fi |
|||
corp |
|||
proc nonrec main() void: |
|||
byte k, i, c; |
|||
for k from 1 upto 5 do |
|||
write("k = ", k:1, ":"); |
|||
i := 2; |
|||
c := 0; |
|||
while c < 10 do |
|||
if kprime(i,k) then |
|||
write(i:4); |
|||
c := c+1 |
|||
fi; |
|||
i := i+1 |
|||
od; |
|||
writeln() |
|||
od |
|||
corp</lang> |
|||
{{out}} |
|||
<pre>k = 1: 2 3 5 7 11 13 17 19 23 29 |
|||
k = 2: 4 6 9 10 14 15 21 22 25 26 |
|||
k = 3: 8 12 18 20 27 28 30 42 44 45 |
|||
k = 4: 16 24 36 40 54 56 60 81 84 88 |
|||
k = 5: 32 48 72 80 108 112 120 162 168 176</pre> |
|||
=={{header|EchoLisp}}== |
=={{header|EchoLisp}}== |