Program Permutasi
permutasi adalah menggabungkan beberapa objek dari suatu grup dengan memperhatikan urutan. Di dalam permutasi, urutan diperhatikan.
{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}
Contoh: Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?
Solusi: Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M, B-H.
{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}
Contoh: Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?
Solusi: Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M, B-H.
Sedikit Algoritmanya:
2. Masukkan n
3. Masukkan r
4. Jika n < r, maka tampilkan “r tidak boleh lebih besar dari n”
5. Jika tidak, nfak=1, nrfak=1
6. Untuk i=n sampai i lebih besar dari 0, nfak=nfak*i, i-1
7. Untuk i=n-r sampai i lebih besar dari 0, nrfak=nrfak*i, i-1
8. p=nfak/nrfak
9. Tampilkan p
10. Selesai
Syntax:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n, r;
int nfak=1, nrfak=1;
cout<<"MENCARI PERMUTASI"<<endl;
cout<<"----------------------------------"<<endl;
cout<<"Masukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;
//r tidak boleh lebih
besar dari n unsur
while (n<r){
cout<<"\nr tidak boleh lebih besar dari n";
cout<<"\nMasukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;
}
for(int i=n; i>0;
i--){ //perulangan n faktorial
nfak=nfak*i;
cout<<"Permutasi N nya adalah=";
cin>>nfak;
}
for(int i=n-r;
i>0; i--){ //perulangan n-r
faktorial
nrfak=nrfak*i;
cout<<"Permutasinya adlah="<<endl<<endl;
cin>>nrfak;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Posting Komentar