Buka menu utama

Perubahan

1.805 bita ditambahkan ,  12 tahun yang lalu
tidak ada ringkasan suntingan
'''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
dan
 
<math>0 \leq a_i <\leq i!</math>
 
==Nilai faktoradik==
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:
{| class="wikitable"
|-
! Faktoradik
! Nilai
! Faktoradik
! Nilai
! Faktoradik
! Nilai
! Faktoradik
! Nilai
|-
| 0, 0, 0, 0
| 0
| 1, 0, 0, 0
| 6
| 2, 0, 0, 0
| 12
| 3, 0, 0, 0
| 18
|-
| 0, 0, 1, 0
| 1
| 1, 0, 1, 0
| 7
| 2, 0, 1, 0
| 13
| 3, 0, 1, 0
| 19
|-
| 0, 1, 0, 0
| 2
| 1, 1, 0, 0
| 8
| 2, 1, 0, 0
| 14
| 3, 1, 0, 0
| 20
|-
| 0, 1, 1, 0
| 3
| 1, 1, 1, 0
| 9
| 2, 1, 1, 0
| 15
| 3, 1, 1, 0
| 21
|-
| 0, 2, 0, 0
| 4
| 1, 2, 0, 0
| 10
| 2, 2, 0, 0
| 16
| 3, 2, 0, 0
| 22
|-
| 0, 2, 1, 0
| 5
| 1, 2, 1, 0
| 11
| 2, 2, 1, 0
| 17
| 3, 2, 1, 0
| 23
|}
 
==Mendapatkan Faktoradik dari Sembarang Bilangan==
Suatu faktoradik bisa diperoleh dari sembarang bilangan <math>n</math> dengan algoritma sebagai berikut:
 
# Cari <math>i !</math> terbesar di mana <math>i ! < n</math>
# Bagi <math>n</math> dengan <math>i !</math>, akan didapatkan hasil bagi <math>d</math> dan sisa bagi <math>m</math>.
# <math>d</math> adalah digit faktoradik ke-<math>i</math>, yaitu <math>a_i</math>
# Ulangi dari langkah kedua, dengan <math>m</math>(sisa bagi) menggantikan <math>n</math>, dan <math>i - 1</math> menggantikan <math>i</math>.
# Algoritma selesai jika i sudah mencapai 0.
 
Ketika berakhir, algoritma ini akan menghasilkan deretan faktoradik ''a''<sub>n</sub>...''a''<sub>4</sub>''a''<sub>3</sub>''a''<sub>2</sub>''a''<sub>1</sub>''a''<sub>0</sub>.
 
==Bilangan Inversi==
 
==Membentuk Permutasi dari Faktoradik==
 
==Kode program untuk membangkitkan faktoradik==
===Pascal===
 
FMax = CariFaktorialTerbesar(Bilangan);
Sisa := Bilangan;
for i := FMax downto 0 do
begin
f := Faktorial(i);
A[i] := Sisa div f;
Sisa := Sisa mod f;
end;
 
{{matematika-stub}}
82

suntingan