Smallest multiple: Difference between revisions

Added AutoHotkey
(Added XPL0 example.)
(Added AutoHotkey)
Line 63:
2000: 151,117,794,877,444,315,307,536,308,337,572,822,173,736,308,853,579,339,903,227,904,473,000,476,322,347,234,655,122,160,866,668,946,941,993,951,014,270,933,512,030,194,957,221,371,956,828,843,521,568,082,173,786,251,242,333,157,830,450,435,623,211,664,308,500,316,844,478,617,809,101,158,220,672,108,895,053,508,829,266,120,497,031,742,749,376,045,929,890,296,052,805,527,212,315,382,805,219,353,316,270,742,572,401,962,035,464,878,235,703,759,464,796,806,075,131,056,520,079,836,955,770,415,021,318,508,272,982,103,736,658,633,390,411,347,759,000,563,271,226,062,182,345,964,184,167,346,918,225,243,856,348,794,013,355,418,404,695,826,256,911,622,054,015,423,611,375,261,945,905,974,225,257,659,010,379,414,787,547,681,984,112,941,581,325,198,396,634,685,659,217,861,208,771,400,322,507,388,161,967,513,719,166,366,839,894,214,040,787,733,471,287,845,629,833,993,885,413,462,225,294,548,785,581,641,804,620,417,256,563,685,280,586,511,301,918,399,010,451,347,815,776,570,842,790,738,545,306,707,750,937,624,267,501,103,840,324,470,083,425,714,138,183,905,657,667,736,579,430,274,197,734,179,172,691,637,931,540,695,631,396,056,193,786,415,805,463,680,000
</pre>
 
=={{header|AutoHotkey}}==
<lang AutoHotkey>primes := 1
loop 20
if prime_numbers(A_Index).Count() = 1
primes *= A_Index
 
loop
{
Result := A_Index*primes
loop 20
if Mod(Result, A_Index)
continue, 2
break
}
MsgBox % Result
return
 
prime_numbers(n) { ; http://www.rosettacode.org/wiki/Prime_decomposition#Optimized_Version
if (n <= 3)
return [n]
ans := [], done := false
while !done
{
if !Mod(n,2){
ans.push(2), n /= 2
continue
}
if !Mod(n,3) {
ans.push(3), n /= 3
continue
}
if (n = 1)
return ans
sr := sqrt(n), done := true
; try to divide the checked number by all numbers till its square root.
i := 6
while (i <= sr+6){
if !Mod(n, i-1) { ; is n divisible by i-1?
ans.push(i-1), n /= i-1, done := false
break
}
if !Mod(n, i+1) { ; is n divisible by i+1?
ans.push(i+1), n /= i+1, done := false
break
}
i += 6
}
}
ans.push(n)
return ans
}</lang>
{{out}}
<pre>232792560</pre>
 
=={{header|F_Sharp|F#}}==
299

edits