1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/usr/bin/env python
# Challenge 119
#
# TASK #2 - Sequence without 1-on-1
# Submitted by: Cheok-Yin Fung
# Write a script to generate sequence starting at 1. Consider the increasing
# sequence of integers which contain only 1's, 2's and 3's, and do not have any
# doublets of 1's like below. Please accept a positive integer $N and print the
# $Nth term in the generated sequence.
#
# 1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131, ...
#
# Example
# Input: $N = 5
# Output: 13
#
# Input: $N = 10
# Output: 32
#
# Input: $N = 60
# Output: 2223
import sys
import re
def next_seq(n):
while True:
n += 1
if re.match(r'^[1-3]+$', str(n)) and not re.search(r'11', str(n)):
return n
num = int(sys.argv[1])
n = 0
for i in range(num):
n = next_seq(n)
print(n)
|