E’tibor bering! Chegaralangan M = {a1, a2, ..., an} to‘plam berilgan bo‘lsin. M to‘plamning n elementlaridan tashkil topgan har qanday tartiblangan to‘plam bu to‘plamning o‘rin almashinuvchisi deb ataladi.
Qoidaga asosan, n elementlarni turli xil usulda o‘rin almashtirish quyidagiga teng:
0! = 1 ekanligini unutmang.
#include #include using namespace std;
long float Fakt(int n)
{
long float S = 1;
for (int i = 1; i <= n; i++)
S *= i;
return S;
}
int main()
{
long float S = 1, n;
cout << "n="; cin >> n;
S = Fakt(n);
cout << S << endl;
return 0;
}
157-misol. Quyidagi 2, 3, 4, 5, 9 raqamlardan nechta besh xonali juft son tuzish mumkin?
Juft raqam bilan tugagan sonlar juft bo‘ladi. Biznng misolimizda juft raqam 2 ta.
Juft sonlarning bittasi barcha hollarda oxirgi o‘rinda joylashgan deb faraz qilaylik, u holda barcha olinayotgan sonlar juft bo‘ladi. Bunday sonlar nechta? Ular qolgan 4 ta raqamdan nechta o‘rin almashtirishlar qilish mumkin bo‘lsa, shuncha bo‘ladi, ya‘ni 4! ta. Lekin berilgan raqamlar ichida yana bitta jufti bor-ku. Endilikda bu ikkinchi raqam oxirgi o‘rinda turibdi deb faraz qilaylik, u holda yana juft sonlar hosil bo‘laveradi va ular ham 4! ta bo‘ladi.
Besh xonali juft sonlarning jami miqdori ga teng.
#include #include using namespace std;
int Fakt(int n)
{
int S=1;
for (int i = 1; i <= n; i++)
S *= i;
return S;
}
int main()
{
int S = 0, k, n;
cout << "Sonlar miqdorini kiriting n="; cin >> n;
cout << "Bu sonlar tarkibida nechta juft son bor?: k="; cin >> k;
for (int i = 1; i <= k; i++)
S += Fakt(n-1);
cout << S << endl;
return 0;
}