Faktoradik Matematika – Nilai, Cara, Kode Program dan Contohnya

2 min read

Faktoradik matematika

Faktoradik

Faktoradik adalah sebuah sistem bilangan yang setiap posisi angka memiliki basis sesuai dengan faktorial dari posisinya. Sistem bilangan ini memungkinkan untuk membangkitkan permutasi dalam urutan leksikografik.

Faktoradik memiliki bentuk deretan bilangan ana4a3a2a1a0, dengan setiap bilangan ai bersifat:

{\displaystyle a_{i}\in \mathbb {N} }

dan

{\displaystyle 0\leq a_{i}\leq i}

Nilai Faktoradik

Nilai sebuah faktoradik ana4a3a2a1a0 dapat dengan mudah didapat menggunakan formula:

{\displaystyle \sum _{i=0}^{n}a_{i}.i!}

Sebagai contoh, bilangan 2,1,1,1,0

Posisi setiap bilangan, sama seperti pada sistem bilangan posisional lainnya, dinomori mulai dari 0 dari sebelah kanan.

Bilangan ke543210
Bilangan021110
Faktorial120246211

Sehingga nilainya adalah sebesar: 2×4! + 1×3! + 1×2! + 1×1! + 0×0! = 57

Di bawah ini adalah daftar 24 faktoradik pertama beserta nilainya:

FaktoradikNilaiFaktoradikNilaiFaktoradikNilaiFaktoradikNilai
0, 0, 0, 001, 0, 0, 062, 0, 0, 0123, 0, 0, 018
0, 0, 1, 011, 0, 1, 072, 0, 1, 0133, 0, 1, 019
0, 1, 0, 021, 1, 0, 082, 1, 0, 0143, 1, 0, 020
0, 1, 1, 031, 1, 1, 092, 1, 1, 0153, 1, 1, 021
0, 2, 0, 041, 2, 0, 0102, 2, 0, 0163, 2, 0, 022
0, 2, 1, 051, 2, 1, 0112, 2, 1, 0173, 2, 1, 023

Mendapatkan Faktoradik dari Sembarang Bilangan

Suatu faktoradik bisa diperoleh dari sembarang bilangan {\displaystyle n} dengan algoritme sebagai berikut:

  1. Cari {\displaystyle i!} terbesar di mana {\displaystyle i!<n}
  2. Bagi {\displaystyle n} dengan {\displaystyle i!}, akan didapatkan hasil bagi {\displaystyle d} dan sisa bagi {\displaystyle m}.
  3. {\displaystyle d} adalah digit faktoradik ke-{\displaystyle i}, yaitu{\displaystyle a_{i}}
  4. Ulangi dari langkah kedua, dengan {\displaystyle m}(sisa bagi) menggantikan {\displaystyle n}, dan {\displaystyle i-1} menggantikan {\displaystyle i}.
  5. Algoritme selesai jika {\displaystyle i} sudah mencapai 0.

Ketika berakhir, algoritme ini akan menghasilkan deretan faktoradik ana4a3a2a1a0.

Permutasi

Bilangan Inversi

Membentuk Permutasi berdasarkan Faktoradik

Pertama-tama kita harus membuat kesepakatan mengenai indeks. Indeks untuk untai dimulai dengan indeks 0 dari kiri.

Untaiabcdefg
Indeks0123456

Disediakan sebuah untai {\displaystyle s}, dan sebuah faktoradik {\displaystyle f}, maka algoritme untuk menghasilkan sebuah permutasi dari {\displaystyle s} adalah:

  1. Sediakan satu tempat, yaitu {\displaystyle s'} untuk menampung untai hasil permutasi
  2. Mulai dari digit {\displaystyle f} paling kiri (digit dengan indeks posisi paling besar):
    • Ambil huruf dari {\displaystyle s} di posisi {\displaystyle f_{i}}, pindahkan ke {\displaystyle s'}
  3. Ulangi hingga tidak ada lagi huruf pada untai {\displaystyle s}

Ketika algoritme ini selesai, {\displaystyle s'} akan merupakan permutasi dari {\displaystyle s} yang sesuai dengan {\displaystyle f}

Sebagai contoh, untuk menghasilkan permutasi dari abcdefg, dengan indeks faktoradik 5341200 dengan algoritme tersebut, diberikan:

{\displaystyle s=\mathbf {abcdefg} }

dan

{\displaystyle f=(5,3,4,1,2,0,0)}

Disediakan {\displaystyle s'=\epsilon } (masih kosong).

Untaiabcdefg
Indeks0123456

Pertama, mulai dari {\displaystyle f_{6}}, yaitu 5. Kemudian pindahkan huruf ke-5 (indeks 5) pada untai {\displaystyle s} ke untai {\displaystyle s'}, yaitu huruf f. Kondisi {\displaystyle s} dan {\displaystyle s'} sekarang menjadi {\displaystyle s=\mathbf {abcdeg} } dan {\displaystyle s'=\mathbf {f} }

Dengan {\displaystyle s} sekarang menjadi:

Untaiabcdeg
Indeks012345

Bilangan kedua dari {\displaystyle f}, yaitu {\displaystyle f_{5}} adalah 3, maka pindahkan huruf ke-3 pada untai {\displaystyle s} ke untai {\displaystyle s'}. Maka kondisinya menjadi {\displaystyle s=\mathbf {abceg} } dan {\displaystyle s'=\mathbf {fd} }

Untaiabceg
Indeks01246

Dan seterusnya, yang jika dituliskan sekaligus adalah seperti ini:

i{\displaystyle f_{i}}{\displaystyle s}{\displaystyle s'}
65abcdegf
53abcegfd
44abcefdg
31acefdgb
22acfdgbe
10cfdgbea
00fdgbeac

Kode-kode program faktoradik

Kode program untuk membangkitkan faktoradik

Pascal

 FMax := CariFaktorialTerbesar(Bilangan);
 Sisa := Bilangan;
 for i := FMax downto 0 dobegin
   f := Faktorial(i);
   A[i] := Sisa div f;
   Sisa := Sisa mod f;
 end;

Kode untuk membangkitkan permutasi dari faktoradik

Pascal

function Permutasi(Untai: STRING; Faktoradik: array of INTEGER): STRING;
 var
   Hasil: STRING;
   i, Indeks: INTEGER;
 begin
   Hasil:=;for i:=Low(Faktoradik) to High(Faktoradik) dobegin
     Indeks:=Faktoradik[i] + 1;       // Indeks ditambah 1 karena indeks array berawal dari 0
     Hasil:=Hasil + Untai[ Indeks ];
     Delete(Untai, Indeks, 1);
   end;
 
   Permutasi:=Hasil;
 end;


Contoh Faktoradik

Semisalnya, 46310 dapat diubah menjadi representasi faktorial oleh divisi-divisi yang berurutan ini:

463 ÷ 1 = 463, sisa 0
463 ÷ 2 = 231, sisanya 1
231 ÷ 3 = 77, sisa 0
77 ÷ 4 = 19, sisanya 1
19 ÷ 5 = 3, sisa 4
3 ÷ 6 = 0, sisanya 3

Misalnya, di sini adalah bagaimana digit dalam faktoradic 4041000! (sama dengan 298210) memilih digit dalam (4,0,6,2,1,3,5), permutasi 2982 dari angka 0 hingga 6.

                                 4041000! → (4,0,6,2,1,3,5)
factoradic:  4          0                        4        1          0          0        0!
             |          |                        |        |          |          |        |
    (0,1,2,3,4,5,6) -> (0,1,2,3,5,6) -> (1,2,3,5,6) -> (1,2,3,5) -> (1,3,5) -> (3,5) -> (5)
             |          |                        |        |          |          |        |
permutation:(4,         0,                       6,       2,         1,         3,       5)

Indeks alami untuk group direct product  (produk langsung kelompok) dari dua kelompok permutasi adalah penggabungan dua nomor faktoradik, dengan dua subscript “!” S.

           gabungan
 desimal   factoradik         pasangan permutatasi
    010     000!000!           ((0,1,2),(0,1,2))
    110     000!010!           ((0,1,2),(0,2,1))
               ...
    510     000!210!           ((0,1,2),(2,1,0))
    610     010!000!           ((0,2,1),(0,1,2))
    710     010!010!           ((0,2,1),(0,2,1))
               ...
   2210     110!200!           ((1,2,0),(2,0,1))
               ...
   3410     210!200!           ((2,1,0),(2,0,1))
   3510     210!210!           ((2,1,0),(2,1,0))

Dalam nilai pecahan pemilihan contoh berikut, spasi digunakan untuk memisahkan nilai tempat, dinyatakan dalam desimal. Angka-angka rasional di sebelah kiri juga dalam desimal:

  • 1/2=0.0\ 1_{!}
  • 1/3=0.0\ 0\ 2_{!}
  • {\displaystyle 2/3=0.0\ 1\ 1_{!}}
  • 1/4=0.0\ 0\ 1\ 2_{!}
  • {\displaystyle 3/4=0.0\ 1\ 1\ 2_{!}}
  • 1/5=0.0\ 0\ 1\ 0\ 4_{!}
  • 1/6=0.0\ 0\ 1_{!}
  • {\displaystyle 5/6=0.0\ 1\ 2_{!}}
  • {\displaystyle 1/7=0.0\ 0\ 0\ 3\ 2\ 0\ 6_{!}}
  • {\displaystyle 1/8=0.0\ 0\ 0\ 3_{!}}
  • {\displaystyle 1/9=0.0\ 0\ 0\ 2\ 3\ 2_{!}}
  • {\displaystyle 1/10=0.0\ 0\ 0\ 2\ 2_{!}}
  • 1/11=0.0\ 0\ 0\ 2\ 0\ 5\ 3\ 1\ 4\ 0\ A_{!}
  • 2/11=0.0\ 0\ 1\ 0\ 1\ 4\ 6\ 2\ 8\ 1\ 9_{!}
  • 9/11=0.0\ 1\ 1\ 3\ 3\ 1\ 0\ 5\ 0\ 8\ 2_{!}
  • {\displaystyle 10/11=0.0\ 1\ 2\ 1\ 4\ 0\ 3\ 6\ 4\ 9_{!}}
  • {\displaystyle 1/12=0.0\ 0\ 0\ 2_{!}}
  • {\displaystyle 5/12=0.0\ 0\ 2\ 2_{!}}
  • {\displaystyle 7/12=0.0\ 1\ 0\ 2_{!}}
  • {\displaystyle 11/12=0.0\ 1\ 2\ 2_{!}}
  • 1/15=0.0\ 0\ 0\ 1\ 3_{!}
  • {\displaystyle 1/16=0.0\ 0\ 0\ 1\ 2\ 3_{!}}
  • {\displaystyle 1/18=0.0\ 0\ 0\ 1\ 1\ 4_{!}}
  • {\displaystyle 1/20=0.0\ 0\ 0\ 1\ 1_{!}}
  • {\displaystyle 1/24=0.0\ 0\ 0\ 1_{!}}
  • {\displaystyle 1/30=0.0\ 0\ 0\ 0\ 4_{!}}
  • {\displaystyle 1/36=0.0\ 0\ 0\ 0\ 3\ 2_{!}}
  • {\displaystyle 1/60=0.0\ 0\ 0\ 0\ 2_{!}}
  • {\displaystyle 1/72=0.0\ 0\ 0\ 0\ 1\ 4_{!}}
  • {\displaystyle 1/120=0.0\ 0\ 0\ 0\ 1_{!}}
  • {\displaystyle 1/144=0.0\ 0\ 0\ 0\ 0\ 5_{!}}
  • {\displaystyle 1/240=0.0\ 0\ 0\ 0\ 0\ 3_{!}}
  • {\displaystyle 1/360=0.0\ 0\ 0\ 0\ 0\ 2_{!}}
  • {\displaystyle 1/720=0.0\ 0\ 0\ 0\ 0\ 1_{!}}

Ada juga sejumlah kecil konstanta yang memiliki representasi terpola dengan metode ini:

  • e=1\ 0.0\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1\ 1..._{!}
  • e^{-1}=0.0\ 0\ 2\ 0\ 4\ 0\ 6\ 0\ 8\ 0\ A\ 0\ C\ 0\ E..._{!}
  • \sin(1)=0.0\ 1\ 2\ 0\ 0\ 5\ 6\ 0\ 0\ 9\ A\ 0\ 0\ D\ E..._{!}
  • \cos(1)=0.0\ 1\ 0\ 0\ 4\ 5\ 0\ 0\ 8\ 9\ 0\ 0\ C\ D\ 0..._{!}
  • \sinh(1)=1.0\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0..._{!}
  • \cosh(1)=1.0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 1..._{!}

Pinter Pandai “Bersama-Sama Berbagi Ilmu”
Quiz | Matematika | IPA | Geografi & Sejarah | Info Unik | Lainnya | Business & Marketing

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *