jukaukor

Kantalukumuunnos_nonrecursive.jl

Apr 16th, 2021
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #Lukujärjestelmän muunnos 10-kantaisesta n-kantaiseen, 2<=n<=62
  2. # Ei-rekursiivinen versio Julia-kielellä
  3. # Juhani Kaukoranta 16.4.2021
  4. # tulosta esim println(Muunnos(79,16))
  5. #
  6. function Muunnos(a,n)
  7. # a muunnettava 10-jarjestelmän luku, n kohdekantaluku
  8. nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  9. # merkistönumerot, vastaavat arvoja 0 - 62
  10. A ="" # merkkijonoon A kerätään uuden kantaluvun numerot
  11. x = a
  12. temp = div(x,n)
  13. while temp > 0
  14. if x-temp*n < 62
  15. newnum = nro[x-temp*n+1]
  16. else
  17. newnum = string(x-temp*n)
  18. end
  19. A = newnum*A
  20. x = temp
  21. temp = div(x,n)
  22. if temp == 0 # viimeinen, uusi kierros
  23. if x < 62
  24. newnum = nro[x+1]
  25. else
  26. newnum = string(x)
  27. end
  28. A = newnum*A
  29. return A
  30. end
  31. end
  32. end
  33.  
  34.  
Advertisement
Add Comment
Please, Sign In to add comment