| 123456789101112131415161718192021222324252627 |
- #!/usr/bin/env python3
- def get_groups(pw):
- prev = 10
- group = 1
- groups = []
- while pw:
- d = pw % 10
- if d > prev:
- return []
- if d == prev:
- group += 1
- else:
- groups.append(group)
- group = 1
- prev = d
- pw //= 10
- groups.append(group)
- return groups
- pmin, pmax = 240920, 789857
- relaxed = strict = 0
- for n in range(pmin, pmax + 1):
- groups = list(get_groups(n))
- relaxed += int(any(group >= 2 for group in groups))
- strict += int(2 in groups)
- print(relaxed)
- print(strict)
|