Divide Et Impera

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

#include <iostream>

#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int dei(int s,int d)
{
int m,x,y;
if(s==d) return v[s];
else{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
return x+y;
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int dei(int s,int d)
{
int m,x,y;
if(s==d) return v[s];
else{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
if(x>y) return x;
else return y;
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
g<<dei(1,n);

return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int dei(int s,int d)
{
int m,x,y;
if(s==d) return v[s];
else{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
if(x>y) return x;
else return y;
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i,p=1;
int cmmdc(int a,int b)
{
while(a!=b)
if(a>b) a=a-b;
else b=b-a;
return a;
}
int cmmmc(int a, int b)
{
return a*b/cmmdc(a,b);
}
int dei(int s, int d)
{
int m,x,y;
if(s==d) return v[s];
else{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
return cmmmc(x,y);
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int prim(int a)
{
int ok=1,d;
for(d=2; d<=a/2; d++)
if(a%d==0) ok=0;
if(a==1 || a==0) ok=0;
return ok;
}
int dei(int s,int d)
{
int m,x,y;
if(s==d)
if(prim(v[s])==1)
return v[s];
else return 0;
else
{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
return x+y;
}
}
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i,a;
int dei(int s,int d, int a)
{
int m,x,y,nr;
if(s==d)
if(v[s]==a)
return 1;
else return 0;
else
{
m=(s+d)/2;
x=dei(s,m,a);
y=dei(m+1,d,a);
return x+y;
}
}
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
f>>a;
g<<dei(1,n,a);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int cifre(int a)
{
int aux,ok=1;
aux=a%10;
while(a)
if(a%10==aux) a/=10;
else {ok=0;a/=10;}
return ok;
}
int dei(int s,int d)
{
int m,x,y,nr;
if(s==d)
if(cifre(v[s])==1)
return v[s];
else return 0;
else
{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
return x+y;
}
}
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[100],i;
int baza(int a)
{
int nr=0;
while(a){
if(a%2==1) nr++;
a/=2;
}
if(nr%2==0) return 1;
else return 0;
}
int dei(int s,int d)
{
int m,x,y,nr;
if(s==d)
if(baza(v[s])==1)
return 1;
else return 0;
else
{
m=(s+d)/2;
x=dei(s,m);
y=dei(m+1,d);
return x+y;
}
}
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
g<<dei(1,n);

return 0;
}

You might also like