Pagini recente » Cod sursa (job #3178999) | Cod sursa (job #2368194) | Cod sursa (job #632500) | Cod sursa (job #701451) | Cod sursa (job #37959)
Cod sursa(job #37959)
program dezastru;
var f,g:text;
n,i,k,j,i2,i3,i1,i4:integer;
a:array[1..25] of real;
x1:array[1..25,1..25] of real;
aux:longint;
prob:real;
begin
assign(f,'dezastru.in'); assign(g,'dezastru.out');
reset(f); rewrite(g);
read(f,n,k);
for i:=1 to n do read(f,a[i]);
prob:=0;
aux:=1;
for i:=1 to n do aux:=aux*i;
if k=1 then
for i:=1 to n do
prob:=prob+a[i]/n;
if k=2 then
begin
for i:=1 to n do
for j:=1 to n do
if i<>j then prob:=prob+(a[i]*a[j])/aux
end
else
if k=3 then
begin
for i:=1 to n do
for j:=1 to n do
for i2:=1 to n do
if (i<>j) and (j<>i2) and (i<>i2) then prob:=prob+(a[i]*a[j]*a[i2])/aux;
end
else if k=4 then
begin
for i:=1 to n do
for j:=1 to n do
for i2:=1 to n do
for i1:=1 to n do
if (i<>j) and (j<>i2) and (i<>i2) and (i<>i1) and (j<>i1) and (i2<>i1)
then prob:=prob+(a[i]*a[j]*a[i2]*a[i1])/aux;
end
else if k=5 then
begin
for i:=1 to n do
for j:=1 to n do
for i2:=1 to n do
for i1:=1 to n do
for i3:=1 to n do
if (i<>j) and (j<>i2) and (i<>i2) and (i<>i1) and (j<>i1) and (i2<>i1) and (i<>i3) and (j<>i3) and (i2<>i3) and (i1<>i3)
then prob:=prob+(a[i]*a[j]*a[i2]*a[i3]*a[i1])/aux;
end
else if k=6 then
begin
for i:=1 to n do
for j:=1 to n do
for i2:=1 to n do
for i1:=1 to n do
for i3:=1 to n do
for i4:=1 to n do
if (i<>j) and (j<>i2) and (i<>i2) and (i<>i1) and (j<>i1) and (i2<>i1) and (i<>i3) and (j<>i3) and (i2<>i3) and (i1<>i3)
then if (i<>i4) and (j<>i4) and (i1<>i4) and (i2<>i4) and (i3<>i4) then prob:=prob+(a[i]*a[j]*a[i2]*a[i1]*a[i3]*a[i4])/aux;
end;
write(G,prob:0:6);
close(f); close(g);
end.