Pagini recente » Cod sursa (job #440821) | Cod sursa (job #2582273) | Cod sursa (job #3178641) | Cod sursa (job #1946611) | Cod sursa (job #155315)
Cod sursa(job #155315)
#include <stdio.h>
#define NMax 30
int n, k;
double p[NMax][NMax];
void citire();
void rez();
int main()
{
citire();
rez();
return 0;
}
void rez()
{
int l, x, y;
double prod = 0;
for (l=2; l<=k; l++)
{
// siruri de lungime l din l - 1
for (x=1; x<=n; x++)
{
// pun pe ultima pozitie nr X
for (y=1; y<x; y++)
p[x][l] += p[y][l-1];
if ( x != 1)
p[x][l] = p[x][l] * p[x][1] / (x - 1);
}
}
for (x=1; x<=n; x++)
prod += p[x][k] * (x-1);
printf( "%.6llf\n", prod / n );
}
void citire()
{
int i;
freopen( "dezastru.in", "rt", stdin );
freopen( "dezastru.out", "wt", stdout );
scanf( "%d %d", &n, &k );
for (i=1; i<=n; i++)
scanf( "%lf", &p[i][1] );
}