Product of min and max prime factors: Difference between revisions

Added AppleScript.
(Added AppleScript.)
Line 66:
91 46 93 94 95 6 9409 14 33 10
</pre>
 
=={{header|AppleScript}}==
<syntaxhighlight lang="applescript">on isPrime(n)
if (n < 4) then return (n > 1)
if ((n mod 2 is 0) or (n mod 3 is 0)) then return false
repeat with i from 5 to (n ^ 0.5) div 1 by 6
if ((n mod i is 0) or (n mod (i + 2) is 0)) then return false
end repeat
return true
end isPrime
 
on productOfMinAndMaxPrimeFactors(n)
if ((isPrime(n)) or (n is 1)) then return n * n
set output to {}
repeat with i from (n ^ 0.5 div 1) to 2 by -1
if (n mod i is 0) then
if (isPrime(i)) then set output's beginning to i
if (isPrime(n div i)) then set output's end to n div i
end if
end repeat
return (output's beginning) * (output's end)
end productOfMinAndMaxPrimeFactors
 
on join(lst, delim)
set astid to AppleScript's text item delimiters
set AppleScript's text item delimiters to delim
set txt to lst as text
set AppleScript's text item delimiters to astid
return txt
end join
 
on demo()
set output to {""}
set thisLine to {}
repeat with n from 1 to 100
set thisLine's end to text -6 thru -1 of (" " & productOfMinAndMaxPrimeFactors(n))
if (n mod 10 is 0) then
set output's end to join(thisLine, "")
set thisLine to {}
end if
end repeat
return join(output, linefeed)
end demo
 
demo()</syntaxhighlight>
 
{{output}}
<syntaxhighlight lang="applescript">"
1 4 9 4 25 6 49 4 9 10
121 6 169 14 15 4 289 6 361 10
21 22 529 6 25 26 9 14 841 10
961 4 33 34 35 6 1369 38 39 10
1681 14 1849 22 15 46 2209 6 49 10
51 26 2809 6 55 14 57 58 3481 10
3721 62 21 4 65 22 4489 34 69 14
5041 6 5329 74 15 38 77 26 6241 10
9 82 6889 14 85 86 87 22 7921 10
91 46 93 94 95 6 9409 14 33 10"</syntaxhighlight>
 
=={{header|BASIC}}==
557

edits