Skip to content

Instantly share code, notes, and snippets.

@alu0100888102
Created February 19, 2020 16:26
Show Gist options
  • Select an option

  • Save alu0100888102/3548915e7d8860da603b8310deb0c9eb to your computer and use it in GitHub Desktop.

Select an option

Save alu0100888102/3548915e7d8860da603b8310deb0c9eb to your computer and use it in GitHub Desktop.
characters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z']
nletters = len(characters)
ndigits = 6
def prires(letters, x):
ret = ""
for l in letters:
ret = ret + characters[l]
if x > 0:
ret = str(x) + ret
padding = "0" * (6 - len(ret))
return padding + ret
def matricula(x):
for i in range (ndigits+1):
h = ndigits - i
top = 10**h*nletters**i
xt = x - top
if(xt < 0):
letter = int(x / 10 ** (h))
letters = [0] * i
for j in range(i):
letters[j] = int(letter / (nletters ** (i-j-1))) % nletters
print(letters[j])
return prires(letters, x % 10**h)
x = xt
return str(x)
numbers = [
10**6*nletters**0 -1,
10**6*nletters**0,
10**6*nletters**0 +1,
10**6*nletters**0 + 10**5*nletters**1 -1,
10**6*nletters**0 + 10**5*nletters**1,
10**6*nletters**0 + 10**5*nletters**1 +1,
10**6*nletters**0 + 10**5*nletters**1 + 10**4*nletters**2 -1,
10**6*nletters**0 + 10**5*nletters**1 + 10**4*nletters**2,
10**6*nletters**0 + 10**5*nletters**1 + 10**4*nletters**2 +1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 - 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 - 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5 - 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5 + 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5 + 10 ** 0 * nletters ** 6 - 1,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5 + 10 ** 0 * nletters ** 6,
10 ** 6 * nletters ** 0 + 10 ** 5 * nletters ** 1 + 10 ** 4 * nletters ** 2 + 10 ** 3 * nletters ** 3 + 10 ** 2 * nletters ** 4 + 10 ** 1 * nletters ** 5 + 10 ** 0 * nletters ** 6 + 1,
]
for number in numbers:
print(str(number) + ": " + matricula(number))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment