jukaukor

Taxicabnumbers.py

Sep 19th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. # Ramanujanista ja G.H. Hardysta kertovan elokuvan " The Man Who Knew Infinity" innoittamana
  2. # Juhani Kaukoranta 19.9.2019
  3. # Lisäinfoa https://en.wikipedia.org/wiki/Taxicab_number
  4. import math
  5. import time
  6. print("Taxicab luku T(n) on pienin positiivinen kokonaisluku, joka voidaan esittää kahden positiivisen kokonaisluvun kuutioiden summana n eri tavalla")
  7. print("Ta(1)= 2")
  8. print("Ta(2)= 1729 , Hardy-Ramanujan luku, liittyy matemaatikkojen Ramanujan ja G.H.Hardy tapaamiseen, oli Hardyn taksin numero")
  9. print("Ta(3) = 87539319, löydettiin vuonna 1957 tietokoneen avulla")
  10. print("Ta(4) = 6963472309248, löydettiin vuonna 1991 tietokoneen avulla")
  11. print("Ta(5) = 48988659276962496, löydettiin vuonna 1994 tietokoneen avulla")
  12. print("Ta(6) = 24153319581254312065344, löydettiin vuonna 2008 tietokoneen avulla")
  13. print("Nyt voit etsiä annettua taxicab lukua vastaavan lukuparien esitykset")
  14. taxicabnumber = int(input("Anna taxicab-luku :"))
  15. print("taxi= ",taxicabnumber)
  16. raja = 1+int(taxicabnumber**(1.0/3))
  17.  
  18. def Taxicab():
  19. temp = 0
  20. for i in range(1,raja):
  21. j = int((taxicabnumber - i ** 3) ** (1.0 / 3) + 0.5)
  22. if (i**3 + j**3 == taxicabnumber):
  23. if i == temp:
  24. break
  25. print(taxicabnumber," on lukujen ",i," ja ",j, "kuutioiden summa")
  26. temp = j
  27.  
  28. time0 = time.perf_counter()
  29. Taxicab()
  30. time1 = time.perf_counter()
  31. print("Aikaa kului ",time1 - time0, "sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment