Jump to content

Calmo numbers: Difference between revisions

(Added Algol 68)
Line 69:
<pre>
165 273 385 399 561 595 665 715 957
</pre>
 
=={{header|Ring}}==
<syntaxhighlight lang="ring">
see "works..." + nl
numCalmo = 0
limit = 1000
for n = 1 to limit
Calmo = []
for m = 2 to n/2
if n % m = 0
add(Calmo,m)
ok
next
flag = 1
lenCalmo = len(Calmo)
if (lenCalmo > 5) and (lenCalmo % 3 = 0)
for p = 1 to lenCalmo - 2 step 3
sum = Calmo[p] + Calmo[p+1] + Calmo[p+2]
if not isPrime(sum)
flag = 0
exit
ok
next
if flag = 1
numCalmo++
see "n(" + numCalmo + ") = " + n + nl
see "divisors = ["
for p = 1 to lenCalmo - 2 step 3
sumCalmo = Calmo[p] + Calmo[p+1] + Calmo[p+2]
if not isPrime(sumCalmo)
exit
else
if p = 1
see "" + Calmo[p] + " " + Calmo[p+1] + " " + Calmo[p+2]
else
see " " + Calmo[p] + " " + Calmo[p+1] + " " + Calmo[p+2]
ok
ok
next
see "]" + nl
for p = 1 to lenCalmo - 2 step 3
sumCalmo = Calmo[p] + Calmo[p+1] + Calmo[p+2]
if isPrime(sumCalmo)
see "" + Calmo[p] + " + " + Calmo[p+1] + " + " + Calmo[p+2] + " = " + sumCalmo + " is prime" + nl
ok
next
see nl
ok
ok
next
see "Found " + numCalmo + " Calmo numbers" + nl
see "done..." + nl
 
func isPrime num
if (num <= 1) return 0 ok
if (num % 2 = 0 and num != 2) return 0 ok
for i = 3 to floor(num / 2) -1 step 2
if (num % i = 0) return 0 ok
next
return 1
</syntaxhighlight>
{{out}}
<pre>
works...
n(1) = 165
divisors = [3 5 11 15 33 55]
3 + 5 + 11 = 19 is prime
15 + 33 + 55 = 103 is prime
 
n(2) = 273
divisors = [3 7 13 21 39 91]
3 + 7 + 13 = 23 is prime
21 + 39 + 91 = 151 is prime
 
n(3) = 385
divisors = [5 7 11 35 55 77]
5 + 7 + 11 = 23 is prime
35 + 55 + 77 = 167 is prime
 
n(4) = 399
divisors = [3 7 19 21 57 133]
3 + 7 + 19 = 29 is prime
21 + 57 + 133 = 211 is prime
 
n(5) = 561
divisors = [3 11 17 33 51 187]
3 + 11 + 17 = 31 is prime
33 + 51 + 187 = 271 is prime
 
n(6) = 595
divisors = [5 7 17 35 85 119]
5 + 7 + 17 = 29 is prime
35 + 85 + 119 = 239 is prime
 
n(7) = 665
divisors = [5 7 19 35 95 133]
5 + 7 + 19 = 31 is prime
35 + 95 + 133 = 263 is prime
 
n(8) = 715
divisors = [5 11 13 55 65 143]
5 + 11 + 13 = 29 is prime
55 + 65 + 143 = 263 is prime
 
n(9) = 957
divisors = [3 11 29 33 87 319]
3 + 11 + 29 = 43 is prime
33 + 87 + 319 = 439 is prime
 
Found 9 Calmo numbers
done...
</pre>
2,468

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.