Pagini recente » Cod sursa (job #962127) | Cod sursa (job #69323) | Cod sursa (job #585859) | Cod sursa (job #101342) | Cod sursa (job #688010)
Cod sursa(job #688010)
#include<stdio.h>
FILE*fin,*fout;
int a[26][26],n,m,nrc;
float v[26],pf,pc;
int sol[26];
void nrcomb(){
int i,j;
a[0][0]=1;
for(i=1;i<=n;i++){
for(j=0;j<=i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
nrc=a[n][m];
}
void prelucrare(){
int i;
pc=1.000000;
for(i=1;i<=n;i++){
if(sol[i]!=0){
pc=pc*v[sol[i]];
}
}
pf=pf+pc/nrc;
}
void comb(int k){
int t;
for(t=sol[k-1]+1;t<=n;t++){
sol[k]=t;
if(k==m){prelucrare();}
else{comb(k+1);}
}
return ;
}
int main(){
fin=fopen("dezastru.in","r");
fout=fopen("dezastru.out","w");
fscanf(fin,"%d %d\n",&n,&m);
int i;
for(i=1;i<=n;i++){
fscanf(fin,"%f",&v[i]);
}
nrcomb();
comb(1);
fprintf(fout,"%.6f",pf);
return 0;}