154-misol. m elementdan n tadan joylashtirishning nechtasi birinchidan tashqari qolgan barcha elementlarning biri bilan boshlanadi?
#include #include using namespace std;
int Almashtirishlar(int n, int k)
{
int S=1;
for (int i = 1; i <= k; i++)
S *= (n - k + i);
return S;
}
int main()
{
int S, S1, S2, n, m;
cout << "n="; cin >> n;
cout << "m="; cin >> m;
S1 = Almashtirishlar(n, m);
S2= Almashtirishlar(n - 1, m - 1);
S = S1 - S2;
cout << S << endl;
return 0;
}
155-misol. 10 elementdan 7 tadan joylashtirishlar tuzilgan. Bu joylashtirishlarning nechtasi a) birinchi elementni, b) ikkinchi va beshinchi elementni o‘z ichga olmaydi?
a)
#include #include using namespace std;
int Almashtirishlar(int n, int k)
{
int S = 1;
for (int i = 1; i <= k; i++)
S *= (n - k + i);
return S;
}
int main()
{
156-misol. Nechta usul bilan 10 ta odam navbatda turishi mumkin? Bu masalani tahlil qilish natijasida bizga 10 ta odamni (elementni) navbatdagi 10 ta o‘ringa joylashtirish kerakligi, yani 10 ta elementni 10 tadan - joylashtirish kerakligi ayon bo‘ldi. U esa quyidagi ko‘rinishda bo‘ladi:
= 10 9 8 ... 3 2 1 = 10!
n ta elementni ntadan joylashtirishga n ta elementning o‘rin almashinuvi deyiladi. Shunday qilib, n ta elementda tashkil topgan ikkita har xil o‘rin almashtirishlar elementlari soni bilan emas, faqatgina elementlarning joylashish tartibi bilan farqlanishi mumkin.