38 lines
No EOL
1 KiB
Markdown
38 lines
No EOL
1 KiB
Markdown
# Random Password - crypto
|
|
|
|
|
|
```
|
|
def backtrack(idx, sample, fives, sevens, accu, result):
|
|
if idx == 5718 and len(result(256)):
|
|
result.append(accu)
|
|
return
|
|
|
|
if len(fives) > 1 and sum(fives) < 5:
|
|
fives.append(sample[idx])
|
|
backtrack(idx + 1, sample,fives, sevens, accu, result)
|
|
fives.pop()
|
|
elif len(sevens) > 1 and sum(sevens) < 17:
|
|
sevens.append(sample[idx])
|
|
backtrack(idx + 1, sample,fives, sevens, accu, result)
|
|
sevens.pop()
|
|
elif len(fives) > 1 and sum(fives) > 5:r
|
|
accu.append(fives)
|
|
backtrack(idx, sample, [], sevens, accu, result)
|
|
accu.pop()
|
|
elif len(sevens) > 1 and sum(sevens) > 17:
|
|
accu.append(sevens)
|
|
backtrack(idx, sample, fives, [], accu, result)
|
|
accu.pop()
|
|
|
|
fives.append(sample[idx])
|
|
backtrack(idx + 1, sample,fives, sevens, accu, result)
|
|
fives.pop()
|
|
|
|
sevens.append(sample[idx])
|
|
backtrack(idx + 1, sample,fives, sevens, accu, result)
|
|
sevens.pop()
|
|
|
|
result = []
|
|
backtrack(0, sample, [], [], [], result)
|
|
|
|
``` |