Cod sursa(job #555980)

Utilizator marius0203marius marius marius0203 Data 15 martie 2011 21:15:48
Problema Indep Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream f("indep.in");
ofstream g("indep.out");

int i,j,k,n,a[10],x[10],s=0,p;

int div(int q)
{
	for(j=2;j<=q;j++)
		if(q%j==0)
		break;
			return j;
}
		
		
		
void afisare ()
{	
	int min;
	int p=0,l=0;
	min=1000;
	for(j=1;j<=n;j++)
		if(x[j]==1)
		if(min>a[j])
			min=a[j];
		
		if(min!=1000)
			min=div(min);
			for(j=1;j<=n;j++)
			{	
				
				if(x[j]==1)
					l++;
					
				if(x[j]==1 && a[j]%min==0)
					p++;
				
			}
				if(p<l)
					s++;
			
			
		
}
void back(int k)
{
	int i;
	for(i=0;i<=1;i++)
	{
		x[k]=i;
		if(k==n)
			afisare();
			else back(k+1);
	}
}
int main ()
{
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	back(1);
	g<<s;
	g.close();
	return 0;
}