Gå til innhold

Heksa-Fibonacci-telletråden


Bully!

Anbefalte innlegg

Videoannonse
Annonse

Her er en Python-snutt for å sjekke om tallet ditt er korrekt. Kjør "python filnavn.py n", hvor n er nummeret på Fibonacci-tallet. Du må regne heksen om til desimal da, men jeg kan jo ikke lage noe fullt automatisert, det er jo ikke noe morsomt. Dette er bare slik at det ikke skal skje noe feil. ;)

 

import sys

n = int(sys.argv[1])
fib = [1,1]
i=2
while i < n:
fib.append(fib[i-2]+fib[i-1])
i = i + 1
print fib[n-1]
2FF42
Endret av MacMagnus
Lenke til kommentar

Med denne snutten kan en teste hexen. Kjør "python filnavn.py n hex" hvor n er nummeret på tallet og hex er heksen.

import sys

hex = sys.argv[2]
des = 0
l = len(hex)
i = 0
while i < l:
	c = hex[i]
	n = 0
	if c == 'A':
		n = 10
	elif c == 'B':
		n = 11
	elif c == 'C':
		n = 12
	elif c == 'D':
		n = 13
	elif c == 'E':
		n = 14
	elif c == 'F':
		n = 15
	else:
		n = ord(c)-48
	des = des + n*16**(l-i-1)
	i = i + 1

x = int(sys.argv[1])
fib = [1,1]
i=2
while i < x:
	fib.append(fib[i-2]+fib[i-1])
	i = i + 1
desreal = fib[x-1]

print des == desreal

CB228

Lenke til kommentar

Ooops, den var dum. Her kommer en bedre versjon:

import sys

hex = sys.argv[2]
des = 0
l = len(hex)
i = 0
while i < l:
	c = hex[i]
	n = ord(c)
	if n >= 65:
		n = n - 55
	else:
		n = n - 48
	des = des + n*16**(l-i-1)
	i = i + 1

x = int(sys.argv[1])
fib = [1,1]
i=2
while i < x:
	fib.append(fib[i-2]+fib[i-1])
	i = i + 1
desreal = fib[x-1]

print des == desreal

148ADD

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...