Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Tunnetaan Farayn jonon n
- # Jonon kaikkien jäsenten nimittäjät < = n
- # Tunnetaan annetun jonon jäsen a / b supistetussa muodossa
- # jossa a < b , a < n, b <= n ja syt(a,b) = 1
- # Tehtävänä etsiä Fareyn jonon jäsenen a/b seuraaja ja edeltäjä
- # Perustuu Matti K Sinisalon artikkeliin
- # Julia-ohjelma Farey_edeltaja_seuraaja.jl
- # Juhani Kaukoranta 15.9.2019
- println("Anna Fareyn jonon nimittäjä n ")
- inptxt = readline()
- n = parse(BigInt,inptxt,base=10)
- println("Anna tunnetun jonon jäsenen osoittaja a : ")
- inptxt = readline()
- a = parse(BigInt,inptxt,base=10)
- println("Anna tunnetun jonon jäsenen nimittäjä b ")
- inptxt = readline()
- b = parse(BigInt,inptxt,base=10)
- # a = int(input("Anna tunnetun jäsenen osoittaja a : "))
- # b = int(input("Anna tunnetun jäsenen nimittäjä b : "))
- # n = big(99999999999999999) # Sinisalon esimerkki
- # a = big(45974587947981317) # Sinisalon esimerkki
- # b = big(59848998549856713) # Sinisalon esimerkki
- # r = gmpy2.invert(a,b)
- r = invmod(a,b)
- b_succ = n - mod(n+r,b)
- a_succ = (a*b_succ + 1) // b
- println("Fareyn jono n = ",n)
- println("Jäsenen ",a // b)
- println("Seuraaja on ",a_succ // b_succ)
- b_prev = n - (n-r) %b
- a_prev = div((a*b_prev - 1), b)
- println("Edeltäjä on ",a_prev // b_prev)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement