Pagini recente » Cod sursa (job #1844301) | Cod sursa (job #336249) | Cod sursa (job #1091114) | Cod sursa (job #2370925) | Cod sursa (job #686491)
Cod sursa(job #686491)
#include <stdio.h>
using namespace std;
int st[26],factorial,n,K;
float suma,v[26];
int valid(int k)
{
for(int i=1;i<=k-1;i++)
if (st[i]==st[k])
return 0;
return 1;
}
void back(int k)
{
float pr;
for(int i=1;i<=n;i++)
{
pr=1;
st[k]=i;
if (valid(k))
if(k==K)
{
for (int j=1;j<=k;j++)
pr=pr*v[st[j]];
suma=suma+pr/factorial;
}
else
back(k+1);
}
}
int main (void)
{
FILE *f1,*f2;
f1=fopen("dezastru.in","r");
f2=fopen("dezastru.out","w");
int i;
suma=0;
fscanf(f1,"%d %d",&n,&K);
factorial=1;
for (i=1;i<=n;i++)
{
factorial=factorial*i;
fscanf(f1,"%f ",&v[i]);
}
back(1);
fprintf(f2,"%f",suma);
return 0;
}