Orar semigroup #2

Orar semigroup #2

11/24 - Topcoder.com

Se da un numar n si multimea {1,2,3...n}. Sa se afiseze o submultime de lungime maxima care are proprietatea ca niciun element nu se imparte la niciun altul.

#include<iostream>
#include<fstream>
using namespace std;
int n,a[100],x[100],maxi[100],ma=0;

void afisare(int x[],int n)
{int i;
for(i=1;i<=n;i++)
    cout<<x[i]<<" ";
cout<<endl;}

int verif(int i)
{int j;
for(j=1;j<i;j++)
    if(x[i]%x[j]==0)
        return 0;
return 1;}

void back(int i)
{int j;
for(j=x[i-1]+1;j<=n;j++)
{x[i]=j;
if(verif(i))
    {if(i>ma)
        {ma=i;
    for(int k=1;k<=ma;k++)
        maxi[k]=x[k];
        }
    back(i+1);
    }
   
}
}

int main()
{int i;
cin>>n;
for(i=1;i<=n;i++)
    a[i]=i;
back(1);
afisare(maxi,ma);
}

joi, 24 noiembrie 2011 by DlMuresan
Categories: , | Leave a comment

Leave a Reply