jukaukor

Taxicabnumber_UInt128.jl

Sep 23rd, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. # Ramanujanista ja G.H. Hardysta kertovan elokuvan " The Man Who Knew Infinity" innoittamana
  2. # Julia-ohjelma Taxicabnumber_UInt128.jl
  3. # Käyttää 128-bittisia UInt128-tyyppisiä kokonaislukuja
  4. # Jolloin 24-numeroisen Ta(6) lasku sujuu 40 kertaa nopeammin kuin BigInt-kokonaisluvuilla
  5. # Juhani Kaukoranta 23.9.2019
  6. # Lisäinfoa https://en.wikipedia.org/wiki/Taxicab_number
  7.  
  8. println("Taxicab luku T(n) on pienin positiivinen kokonaisluku, joka voidaan esittää kahden positiivisen kokonaisluvun kuutioiden summana n eri tavalla")
  9. println("Ta(1)= 2")
  10. println("Ta(2)= 1729 , Hardy-Ramanujan luku, liittyy matemaatikkojen Ramanujan ja G.H.Hardy tapaamiseen, oli Hardyn taksin numero")
  11. println("Ta(3) = 87539319, löydettiin vuonna 1957 tietokoneen avulla")
  12. println("Ta(4) = 6963472309248, löydettiin vuonna 1991 tietokoneen avulla")
  13. println("Ta(5) = 48988659276962496, löydettiin vuonna 1994 tietokoneen avulla")
  14. println("Ta(6) = 24153319581254312065344, löydettiin vuonna 2008 tietokoneen avulla")
  15. println("Nyt voit etsiä annettua taxicab lukua vastaavan lukuparien esitykset")
  16.  
  17. function Taxicab()
  18. println("Anna taxicab-luku: ")
  19. inputtxt = readline()
  20. time0 = time()
  21. taxicabnumber = parse(UInt128,inputtxt)
  22. raja = UInt128(1+trunc(cbrt(taxicabnumber)))
  23. println("for-silmukassa kierroksia: raja = ",raja)
  24. temp = UInt128(0)
  25. i = UInt128(0)
  26. j = UInt128(0)
  27. for i = 1:raja
  28. j = UInt128(trunc(cbrt(taxicabnumber-i^3)+0.5))
  29. if i^3 + j^3 == taxicabnumber
  30. if i == temp
  31. break
  32. end
  33. println(taxicabnumber," on lukujen ",i," ja ",j, " kuutioiden summa ")
  34. temp = j
  35. end
  36. end
  37. time1 = time()
  38. println("Aikaa kului ",time1 - time0, " sekuntia")
  39. end
  40.  
  41.  
  42. Taxicab()
Advertisement
Add Comment
Please, Sign In to add comment