RosettaCodeData/Task/Tau-function/AutoHotkey/tau-function.ahk

15 lines
330 B
AutoHotkey

loop 100
result .= SubStr(" " Tau(A_Index), -3) . (Mod(A_Index, 10) ? " " : "`n")
MsgBox % result
return
Tau(n){
return StrSplit(Factors(n), ",").Count()
}
Factors(n) {
Loop, % floor(sqrt(n))
v := A_Index = 1 ? 1 "," n : mod(n,A_Index) ? v : v "," A_Index "," n//A_Index
Sort, v, N U D,
Return, v
}