Jump to content

Prime decomposition: Difference between revisions

m (→‎{{header|ASIC}}: Decreased level of header.)
Line 2,260:
=={{header|EasyLang}}==
<syntaxhighlight lang="easylang">
func isPrime num . result$ .
if num < 2
result$ = "false"
break 1
.
if num mod 2 = 0 and num > 2
result$ = "false"
break 1
.
for i = 3 to sqrt num
if num mod i = 0
result$ = "false"
break 2
.
.
result$ = "true"
.
func decompose num . primes[] .
ift num <= 2
# If the number is prime, return the number itself
callwhile isPrimet num* result$t <= num
if result$num mod t = "true"0
primes[] &= numt
break 1 num = num / t
.
currentPrime = 2
currentNum = num
repeat
if currentNum mod currentPrime = 0
primes[] &= currentPrime
currentNum = currentNum / currentPrime
else
repeatt += 1
currentPrime += 1
call isPrime currentPrime result$
until result$ = "true"
.
.
call isPrime currentNum result$
until result$ = "true"
.
primes[] &= currentNumnum
.
call decompose 9007199254740991 r[]
print r[]
</syntaxhighlight>
 
2,060

edits

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