Advertisement
jukaukor

collatz.py

Mar 17th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. # Collatzin konjektuuri
  2. # annettaa positiivinen kokonaisluku n
  3. # 1) jos n on pariton, lasketaan n/2
  4. # 2) jos n on parillinen, lasketaan 3*n+1
  5. # lasketulle tuloksella jatketaan samalla tavalla
  6. # konjektuurin mukaan saatujen lukujen jono päättyy aina lukuun 1
  7. # Juhani Kaukoranta 20.3.2019
  8.  
  9. def Collatz(n):
  10.  
  11. # jonon jäsenet kerään listaan x
  12. x = []
  13.  
  14. while n > 1:
  15. if n % 2 == 0:
  16. n = n//2
  17. else:
  18. n = 3*n + 1
  19. # lisätään saatu luku n listaan x
  20.  
  21. x.append(n)
  22. # Collatz-jono palautetaan listana x
  23. return x
  24.  
  25. luku = int(input("Anna joku positiivinen kokonaisluku "))
  26. collatzjono = Collatz(luku)
  27. print("Collatz-jonossa alkioita ",len(collatzjono),", jonon alkiot ovat:")
  28. print(collatzjono)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement