25 lines
579 B
Plaintext
25 lines
579 B
Plaintext
prime = 1679
|
|
decomp(prime)
|
|
|
|
func decomp nr
|
|
x = ""
|
|
sum = 0
|
|
for i = 1 to nr
|
|
if isPrime(i) and nr % i = 0
|
|
sum = sum + 1
|
|
x = x + string(i) + " * " ok
|
|
if i = nr and sum = 2
|
|
x2 = substr(x,1,(len(x)-2))
|
|
see string(nr) + " = " + x2 + "is semiprime" + nl
|
|
but i = nr and sum != 2 see string(nr) + " is not semiprime" + nl ok
|
|
next
|
|
|
|
func isPrime n
|
|
if n < 2 return false ok
|
|
if n < 4 return true ok
|
|
if n % 2 = 0 and n != 2 return false ok
|
|
for d = 3 to sqrt(n) step 2
|
|
if n % d = 0 return false ok
|
|
next
|
|
return true
|