Cod sursa(job #990439)
Utilizator | Cobuz Andrei classius | Data | 28 august 2013 12:23:50 |
---|---|---|---|
Problema | Flux maxim | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream f("prime1.in");
ofstream g("prime1.out");
int count(int x){
int s=0;
for(int i=0;(1<<i)<=x;i++)
s+=(bool)((1<<i)&x);
return s;
}
int main()
{
int n,nr,s=0;
int np[10];
f>>n;
for(int i=1;i<=n;i++)
f>>np[i];
f>>nr;
for(int i=1;i<(1<<n);i++){
int m=count(i);
long long prs=1;
for(int j=1;j<=n;j++)
if((1<<(j-1))&i)
prs*=np[j];
if(m%2) s+=nr/prs;
else s-=nr/prs;
}
g<<s<<'\n';
return 0;
}