tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
49
Task/Permutations/AutoHotkey/permutations.ahk
Normal file
49
Task/Permutations/AutoHotkey/permutations.ahk
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#NoEnv
|
||||
StringCaseSense On
|
||||
|
||||
o := str := "Hello"
|
||||
|
||||
Loop
|
||||
{
|
||||
str := perm_next(str)
|
||||
If !str
|
||||
{
|
||||
MsgBox % clipboard := o
|
||||
break
|
||||
}
|
||||
o.= "`n" . str
|
||||
}
|
||||
|
||||
perm_Next(str){
|
||||
p := 0, sLen := StrLen(str)
|
||||
Loop % sLen
|
||||
{
|
||||
If A_Index=1
|
||||
continue
|
||||
t := SubStr(str, sLen+1-A_Index, 1)
|
||||
n := SubStr(str, sLen+2-A_Index, 1)
|
||||
If ( t < n )
|
||||
{
|
||||
p := sLen+1-A_Index, pC := SubStr(str, p, 1)
|
||||
break
|
||||
}
|
||||
}
|
||||
If !p
|
||||
return false
|
||||
Loop
|
||||
{
|
||||
t := SubStr(str, sLen+1-A_Index, 1)
|
||||
If ( t > pC )
|
||||
{
|
||||
n := sLen+1-A_Index, nC := SubStr(str, n, 1)
|
||||
break
|
||||
}
|
||||
}
|
||||
return SubStr(str, 1, p-1) . nC . Reverse(SubStr(str, p+1, n-p-1) . pC . SubStr(str, n+1))
|
||||
}
|
||||
|
||||
Reverse(s){
|
||||
Loop Parse, s
|
||||
o := A_LoopField o
|
||||
return o
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue