Pagini recente » Cod sursa (job #2076601) | Cod sursa (job #1489054) | Cod sursa (job #1817554) | Cod sursa (job #1027327) | Cod sursa (job #1017447)
#include <iostream>
#include <cstring>
#include <fstream>
#include <iomanip>
using namespace std;
int st[100],n,k,i,p;
float v[10],t,m=0;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
void af(){
float m1=1;
for(i=1;i<=k-1;i++)
m1=m1*v[st[i]];
m=m+(m1/t);}
int vld(int k){
for(i=1;i<=k-1;i++)
if (st[k]==st[i])
return 0;
return 1;}
int main(){
f>>n;
f>>p;
float t1=1,t2=1;
for(i=1;i<=n;i++)
t1=t1*i;
for(i=1;i<=n-p;i++)
t2=t2*i;
t=t1/t2;
for(i=1;i<=n;i++)
f>>v[i];
k=1;
st[k]=0;
while(k>0){
if(k==p+1){
af();
k--;}
if(st[k]<n){
st[k]++;
if(vld(k)){
k++;
st[k]=0;}
}
else
k--;
}
g<<m<<setprecision(6);
}