Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # kirk_lawrence_algorithm.py ??? update and renamed... not sure if i invented this
- # gradient_combo.py
- def next_highest_combo(perm, base=10):
- size = len(perm)
- max_num = max(perm)
- if perm == sorted(perm)[::-1]:
- perm.reverse()
- for i in range(len(perm) - 1, -1, -1):
- if perm[i] < max_num:
- perm[i] += 1
- for j in range(i + 1, len(perm) - 1):
- perm[j] = perm[i]
- return perm
- i = size - 2
- while i >= 0 and perm[i] >= perm[i + 1]:
- i -= 1
- if i == -1:
- if max(perm) == base:
- return None
- return [0] * (size - 1) + [max(perm) + 1]
- j = size - 1
- while perm[j] <= perm[i]:
- j -= 1
- perm[i], perm[j] = perm[j], perm[i]
- perm = perm[:i+1] + perm[i+1:][::-1]
- return perm
- base = 3
- perm = [0, 0, 0]
- while perm:
- print(''.join(map(str, perm)))
- perm = next_highest_combo(perm, base)
- '''
- 000
- 001
- 010
- 100
- 011
- 101
- 110
- 111
- 002
- 020
- 200
- 012
- 021
- 102
- 120
- 201
- 210
- 022
- 202
- 220
- 112
- 121
- 211
- 122
- 212
- 221
- 222
- 003
- 030
- 300
- 013
- 031
- 103
- 130
- 301
- 310
- 023
- 032
- 203
- 230
- 302
- 320
- 033
- 303
- 330
- 113
- 131
- 311
- 123
- 132
- 213
- 231
- 312
- 321
- 133
- 313
- 331
- 223
- 232
- 322
- 233
- 323
- 332
- 333
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement