Strona 1 z 1

System 25-znakowy

: 18 sie 2007, o 19:36
autor: Candy
Mam problem i głowię się jak go rozwiązać:
Potrzebuję znaleść sposób na kodowanie liczb za pomocą liter alfabetu. Załóżmy, że liter w alfabecie jest 25 (razem z V, X i bez polskich znaków jest 25). Wiemy, że powszechnie używany jest system dziesiętny, tu mamy system o 25 znakach. Potrzebuję więc wzoru, który przerobi każdą liczbę całkowitą na ciąg liter alfabetu.

Jakieś pomysły??

Temat przeniosłem. luka52

System 25-znakowy

: 18 sie 2007, o 19:59
autor: luka52
Np. zamieńmy liczbę 1897367 na odpowiedni ciąg znaków
Mamy:
\(\displaystyle{ 1897367 = 4 25^4 + 21 25^3 + 10 25^2 + 19 25^1 + 17 25^0}\)
Następnie znajdujemy, że
4 litera alfabetu to D
21 litera to V
10, to J
19 to T
i 17 to R
(Pomijam, że zapomniałeś o Q )
Zatem nasza liczba w zaproponowanym przez Ciebie systemie, to DVJTR.

Zainteresuj się zapisywaniem liczb w różnych systemach pozycyjnych

System 25-znakowy

: 19 sie 2007, o 19:58
autor: Candy
Wielkie dzięki, mam już to, co mi potrzebne.
A Q pominełem, żeby było 25 znaków ( bo to 1/4 z 100)
Poza tym potrzebuję jednej litery jako separator.

Edit:
Byłbym szczęśliwy, gdybyś podał mi jeszcze jaki jest wzór na resztę dzielonej liczby.

System 25-znakowy

: 19 sie 2007, o 20:07
autor: luka52
Candy pisze:resztę dzielonej liczby
Czyli np. jak dzielimy 11 / 5 = 2*5 + 1 i chodzi o tą jedynkę?
W takim wypadku odejmujemy od liczby 11 liczbę 5 tak długo, aż wynikiem odejmowania będzie liczba mniejsza od 5 (i oczywiście większa od 0).


System 25-znakowy

: 19 sie 2007, o 20:14
autor: Candy
Tak chodzi o tą 1. Ale potrzebuję konkretny wzór, bo muszę to zaprogramować. I niech dzielnikiem będzie najliepiej liczba 35.

System 25-znakowy

: 19 sie 2007, o 20:19
autor: luka52
Hmm... jeżeli musisz to zaprogramować, to podejrzewam, że język programowania udostępnia funkcję modulo. Np. w C/C++ wygląda to tak:

Kod: Zaznacz cały

11 % 5 /* = 1*/

System 25-znakowy

: 19 sie 2007, o 20:26
autor: Candy
Tak, masz rację, jest tam modulo. Że też na to nie wpadłem. Dzięki ponownie, to chyba będzie wszystko.