Tìm số hoán vị của n phần tử trong đó có 2 phần tử a và b không đứng cạnh nhau.
A. (n-1)n!
B. (n-1)!
C. (n-2)(n-1)!
D. n!-2
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Trước hết, ta có số hoán vị của nn phần tử là :
Pn=n!Pn=n!
Trong đó kể cả số hoán vị mà 2 phần tử aa và bb đứng cạnh nhau .
Ta đi xem có bao nhiêu cách chọn cặp (a,b)(a,b) đứng cạnh nhau và dễ thấy rằng :
* Với bb đứng bên phải aa, khi đó ta có thể chọn cho aa tất cả (n−1)(n−1) vị trí từ vị trí đầu tiên đến vị trí thứ (n−1)(n−1).
* Với aa đứng bên phai4 bb, cũng có (n−1)(n−1) cách chọn.
Do đó có 2(n−1)2(n−1) cách chọn cặp (a,b)(a,b) đứng canh nhau. ứng với mỗi trường hợp chọn cặp (a,b)(a,b), ta có (n−2)!(n−2)! cách sắp xếp (n−2)(n−2) vật còn lại vào (n−2)(n−2) vị trí còn lại. Do đó , có tất cả :
2(n−1)(n−2)!=2(n−1)!2(n−1)(n−2)!=2(n−1)!
hoán vị nn vật mà trong đó có 2 phần tử aa và bb đứng cạnh nhau.
Suy ra , số hoán vị của nn phần tử trong đó có 2 phần tử aa và bb không đứng cạnh nhau là :
n!−2(n−1)!=(n−2)(n−1)!.
{c;m} ; {d;m} ; {e;m} ; {f;m} ; {c;n} ; {d;n} ; {e;n} ; {f;n}
uses crt;
var a:array[1..250]of integer;
i,n,dem,t,t1,t2,t3,t4:integer;
begin
clrscr;
repeat
write('Nhap n='); readln(n);
until (0<n) and (n<=250);
for i:=1 to n do
begin
repeat
write('A[',i,']='); readln(a[i]);
until (0<a[i]) and (a[i]<=500);
end;
dem:=0;
for i:=1 to n do
if a[i] mod 2=1 then inc(dem);
writeln('So phan tu co gia tri le la: ',dem);
t:=0;
for i:=1 to n do
if i mod 2=0 then t:=t+a[i];
writeln('Tong cac phan tu co chi so chan la: ',t);
t1:=0;
for i:=1 to n do
if i mod 2=1 then t1:=t1+a[i];
writeln('Tong cac phan tu co chi so le la: ',t1);
t2:=0;
for i:=1 to n do
if (i mod 2=0) and (a[i] mod 2=0) then t2:=t2+a[i];
writeln('Tong cac phan tu chan co chi so chan la: ',t2);
t3:=0;
for i:=1 to n do
if (i mod 2=1) and (a[i] mod 2=1) then t3:=t3+a[i];
writeln('Tong cac phan tu co chi so le la: ',t3);
t4:=0;
for i:=1 to n do
t4:=t4+a[i];
writeln('Trung binh cong cac so trong day la: ',t4/n:4:2);
readln;
end.