Pagini recente » Cod sursa (job #2966549) | Cod sursa (job #3203489) | Cod sursa (job #1894991) | Cod sursa (job #1890624) | Cod sursa (job #1210217)
#include <cstdio>
using namespace std;
float sum = 0.0;
int n, k, i,j,total;
float a[27][27];
float v[27];
int combinari(int n, int k)
{
long long prod=1,i;
if (n - k > k)
{
for (i = n - k + 1; i <= n; ++i)
{
prod *= i;
}
for (i = 2; i <= k; ++i)
{
prod /= i;
}
}
else
{
for (i = k + 1; i <= n; ++i)
{
prod *= i;
}
for (i = 2; i <= n-k; ++i)
{
prod /= i;
}
}
return prod;
}
int main()
{
FILE *fin, *g;
fin=fopen("dezastru.in", "r");
g=fopen("dezastru.out", "w");
fscanf(fin, "%d %d", &n, &k);
for (i = 1; i <= n; ++i)
{
fscanf(fin,"%f",&v[i]);
}
total = combinari(n, k);
for(i=0;i<=n;++i) a[i][0]=1;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i];
}
sum=a[n][k]/total;
fprintf(g,"%.6f",sum);
fclose(fin);
fclose(g);
return 0;
}