Faktoradik: Perbedaan revisi

Tidak ada perubahan ukuran ,  3 tahun yang lalu
k
Bot: penggantian teks otomatis (-algoritma, +algoritme)
k (Bot: Perubahan kosmetika)
k (Bot: penggantian teks otomatis (-algoritma, +algoritme))
 
== Mendapatkan Faktoradik dari Sembarang Bilangan ==
Suatu faktoradik bisa diperoleh dari sembarang bilangan <math>n</math> dengan algoritmaalgoritme sebagai berikut:
 
# Cari <math>i !</math> terbesar di mana <math>i ! < n</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>.
# AlgoritmaAlgoritme selesai jika <math>i</math> sudah mencapai 0.
 
Ketika berakhir, algoritmaalgoritme 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>.
 
== Permutasi ==
| 6
|}
Disediakan sebuah untai <math>s</math>, dan sebuah faktoradik <math>f</math>, maka algoritmaalgoritme untuk menghasilkan sebuah permutasi dari <math>s</math> adalah:
# Sediakan satu tempat, yaitu <math>s'</math> untuk menampung untai hasil permutasi
# Mulai dari digit <math>f</math> paling kiri (digit dengan indeks posisi paling besar):
#* Ambil huruf dari <math>s</math> di posisi <math>f_i</math>, pindahkan ke <math>s'</math>
# Ulangi hingga tidak ada lagi huruf pada untai <math>s</math>
Ketika algoritmaalgoritme ini selesai, <math>s'</math> akan merupakan permutasi dari <math>s</math> yang sesuai dengan <math>f</math>
 
Sebagai contoh, untuk menghasilkan permutasi dari '''abcdefg''', dengan indeks faktoradik 5341200 dengan algoritmaalgoritme tersebut, diberikan:
 
:<math>s = \mathbf{abcdefg}</math>