Advertisement
jukaukor

Farey_edeltaja_seuraaja.jl

Sep 15th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. # Tunnetaan Farayn jonon n
  2. # Jonon kaikkien jäsenten nimittäjät < = n
  3. # Tunnetaan annetun jonon jäsen a / b supistetussa muodossa
  4. # jossa a < b , a < n, b <= n ja syt(a,b) = 1
  5. # Tehtävänä etsiä Fareyn jonon jäsenen a/b seuraaja ja edeltäjä
  6. # Perustuu Matti K Sinisalon artikkeliin
  7. # Julia-ohjelma Farey_edeltaja_seuraaja.jl
  8. # Juhani Kaukoranta 15.9.2019
  9.  
  10. println("Anna Fareyn jonon nimittäjä n ")
  11. inptxt = readline()
  12. n = parse(BigInt,inptxt,base=10)
  13. println("Anna tunnetun jonon jäsenen osoittaja a : ")
  14. inptxt = readline()
  15. a = parse(BigInt,inptxt,base=10)
  16. println("Anna tunnetun jonon jäsenen nimittäjä b ")
  17. inptxt = readline()
  18. b = parse(BigInt,inptxt,base=10)
  19. # a = int(input("Anna tunnetun jäsenen osoittaja a : "))
  20. # b = int(input("Anna tunnetun jäsenen nimittäjä b : "))
  21. # n = big(99999999999999999) # Sinisalon esimerkki
  22. # a = big(45974587947981317) # Sinisalon esimerkki
  23. # b = big(59848998549856713) # Sinisalon esimerkki
  24. # r = gmpy2.invert(a,b)
  25. r = invmod(a,b)
  26. b_succ = n - mod(n+r,b)
  27. a_succ = (a*b_succ + 1) // b
  28. println("Fareyn jono n = ",n)
  29. println("Jäsenen ",a // b)
  30. println("Seuraaja on ",a_succ // b_succ)
  31. b_prev = n - (n-r) %b
  32. a_prev = div((a*b_prev - 1), b)
  33. println("Edeltäjä on ",a_prev // b_prev)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement