Pagini recente » Cod sursa (job #2781151) | Cod sursa (job #1325691) | Cod sursa (job #2272728) | Cod sursa (job #2903719) | Cod sursa (job #159956)
Cod sursa(job #159956)
#include<stdio.h>
int n,k,sol[32],poz;
double nr[32],sum;
void back(int i){
int j;
if(i==k+1){
double s=1;
for(j=1;j<=k;++j)
s*=nr[sol[j]];
sum+=s;
return;
}
for(j=sol[i-1]+1;j<n;++j){
sol[poz]=j;
++poz;
back(i+1);
--poz;
}
}
int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int i;
scanf("%d%d",&n,&k);
for(i=0;i<n;++i)
scanf("%lf",&nr[i]);
sol[0]=-1;
poz=1;
back(1);
for(i=2;i<=k;++i)
sum*=i;
for(i=n-k+1;i<=n;++i)
sum/=i;
printf("%lf\n",sum);
fclose(stdin);
fclose(stdout);
return 0;
}