Faktoradik: Perbedaan antara revisi
Perbaikan tanda |
Tidak ada ringkasan suntingan |
||
Baris 1: | Baris 1: | ||
'''Faktoradik''' adalah sebuah [[sistem bilangan]] yang setiap posisi [[angka]] memiliki basis sesuai dengan [[faktorial]] dari posisinya. |
'''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 |
Faktoradik memiliki bentuk deretan bilangan |
||
Baris 8: | Baris 8: | ||
dan |
dan |
||
<math>0 \leq a_i |
<math>0 \leq a_i \leq i</math> |
||
==Nilai faktoradik== |
==Nilai faktoradik== |
||
Baris 47: | Baris 47: | ||
Sehingga nilainya adalah sebesar: |
Sehingga nilainya adalah sebesar: |
||
2×4! + 1×3! + 1×2! + 1×1! + 0×0! = 57 |
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}} |
{{matematika-stub}} |
Revisi per 11 Mei 2007 01.43
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 an...a4a3a2a1a0, dengan setiap bilangan ai bersifat:
dan
Nilai faktoradik
Nilai sebuah faktoradik an...a4a3a2a1a0 dapat dengan mudah didapat menggunakan formula:
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 ke | 5 | 4 | 3 | 2 | 1 | 0 |
Bilangan | 0 | 2 | 1 | 1 | 1 | 0 |
Faktorial | 120 | 24 | 6 | 2 | 1 | 1 |
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:
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 dengan algoritma sebagai berikut:
- Cari terbesar di mana
- Bagi dengan , akan didapatkan hasil bagi dan sisa bagi .
- adalah digit faktoradik ke-, yaitu
- Ulangi dari langkah kedua, dengan (sisa bagi) menggantikan , dan menggantikan .
- Algoritma selesai jika i sudah mencapai 0.
Ketika berakhir, algoritma ini akan menghasilkan deretan faktoradik an...a4a3a2a1a0.
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;