Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Ramanujanista ja G.H. Hardysta kertovan elokuvan " The Man Who Knew Infinity" innoittamana
- # Julia-ohjelma Taxicabnumber_UInt128.jl
- # Käyttää 128-bittisia UInt128-tyyppisiä kokonaislukuja
- # Jolloin 24-numeroisen Ta(6) lasku sujuu 40 kertaa nopeammin kuin BigInt-kokonaisluvuilla
- # Juhani Kaukoranta 23.9.2019
- # Lisäinfoa https://en.wikipedia.org/wiki/Taxicab_number
- println("Taxicab luku T(n) on pienin positiivinen kokonaisluku, joka voidaan esittää kahden positiivisen kokonaisluvun kuutioiden summana n eri tavalla")
- println("Ta(1)= 2")
- println("Ta(2)= 1729 , Hardy-Ramanujan luku, liittyy matemaatikkojen Ramanujan ja G.H.Hardy tapaamiseen, oli Hardyn taksin numero")
- println("Ta(3) = 87539319, löydettiin vuonna 1957 tietokoneen avulla")
- println("Ta(4) = 6963472309248, löydettiin vuonna 1991 tietokoneen avulla")
- println("Ta(5) = 48988659276962496, löydettiin vuonna 1994 tietokoneen avulla")
- println("Ta(6) = 24153319581254312065344, löydettiin vuonna 2008 tietokoneen avulla")
- println("Nyt voit etsiä annettua taxicab lukua vastaavan lukuparien esitykset")
- function Taxicab()
- println("Anna taxicab-luku: ")
- inputtxt = readline()
- time0 = time()
- taxicabnumber = parse(UInt128,inputtxt)
- raja = UInt128(1+trunc(cbrt(taxicabnumber)))
- println("for-silmukassa kierroksia: raja = ",raja)
- temp = UInt128(0)
- i = UInt128(0)
- j = UInt128(0)
- for i = 1:raja
- j = UInt128(trunc(cbrt(taxicabnumber-i^3)+0.5))
- if i^3 + j^3 == taxicabnumber
- if i == temp
- break
- end
- println(taxicabnumber," on lukujen ",i," ja ",j, " kuutioiden summa ")
- temp = j
- end
- end
- time1 = time()
- println("Aikaa kului ",time1 - time0, " sekuntia")
- end
- Taxicab()
Advertisement
Add Comment
Please, Sign In to add comment