You are on page 1of 22

Fisa de lucru

I. Sume si produse
1.
a.
int suma(int n)
{
If(n==0)
Return 0;
Else
Return suma(n-1)+n;
}

b.
int suma(int n)
{
If(n==0)
Return 0;
Else
If(n%2==0)
Return suma(n-2)+n;
Return suma(n-1);
}
c.
int prim(int n)
{
If(n<=2)
Return 0;
Else
{
For(int d=3;d*d<=n;d+=2)
{
If(n%d==0)
Return 0;
Return 1;
}
}
}
int suma(int n)
{
If(n==1)
Return 0;
Else if(prim(n))
Return n+suma(n-1);
Else
Return suma(n-1);
}
2.
a.
int suma(int a,int b)
{
If(a==b)
Return a;
If(a<b)
Return a+suma(a+1,b);
}
b.
int cnt_imp(int a,int b)
{
If(a==b)
If(a%2==1)
Return 1;
Else
Return 0;
If(a<b)
If(a%2==1)
Return 1+cnt_imp(a+1,b);
Else
Return cnt_imp(a+1,b);
}
c.
Int divizor(int n)
{
Int k=0,i;
For(i=1;i*i<=n;i++)
If(n%i==0)
{
K++;
If(n/i!=i)
K++;
}
Return k;
}
Int suma (int a,int b, int k)
{
If(b>a)
If(divisor(b)==k)
Return b+suma(a,b-1,k);
Else
Return suma(a,b-1,k);
Else
Return 0;
}
3.
a.
V.I.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
Return m1+m2;
}
Else
Return v[st];
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
S=0;
While(i<=n)
{
s+=v[i];
i++;
}
Return s;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}
b.
V.I.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
Return m1+m2;
}
Else
If(st%2==0)
Return v[st];
Else
Return 0;
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
S=0;
While(i<=n)
{
If(i%2==0)
{
s+=v[i];
i+=2;
}
else
i++;
}
Return s;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}
c.
V.I.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
Return m1+m2;
}
Else
If(v[st]%2==1)
Return 1;
Else
Return 0;
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
k=0;
While(i<=n)
{
If(v[i]%2==1)
K++, i++;
Else i++;
}
Return k;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}

d.
V.I.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
Return m1+m2;
}
Else
If(v[st]<0)
Return 1;
Else
Return 0;
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
k=0;
While(i<=n)
{
If(v[i]<0)
K++, i++;
Else i++;
}
Return k;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}

e.
Consideram vectorul s si dimensiunea lui variabila globala
Int i=1;
Int suma(int i)
{
If(i<=n)
{
If(abs(s[i])>99 && abs(s[i])<1000)
Return s[i]+suma(i+2);
Else
Return suma(i+2);
}
Else
Return 0;
}
Cout<<suma(i);
f.
V.I.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
S=s+m1+m2;
If(s==n)
Return 1;
Else
Return 0;
}
Else
If(v[st]%2==0)
Return 1;
Else
Return 0;
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
k=0;
While(i<=n)
{
If(v[i]%2==0)
K++, i++;
Else i++;
}
If(k==n)
Return 1;
Else
Return 0;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}
g.
#include<bits/stdc++.h>
Using namespace std;
ifstream fin(“vector.in”);
int n,I,v[1005];
int suma(int st,int dr)
{
Int m1,m2,mij;
If(st<dr)
{
Mij=(st+dr)/2;
M1=suma(st,mij);
M2=suma(mij+1,dr);
S=m1+m2;
If(S>=1)
Return 1;
Else
Return 0;
}
Else
If(v[st]<0)
Return 1;
Else
Return 0;
}
int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(1,n);
Return 0;
}
V.II.
#include<bits/stdc++.h>
Using namespace std;
Ifstream fin(“vector.in”);
Int n,i,v[1005];
Int suma(int v,int i,int n)
{
k=0;
While(i<=n)
{
If(v[i]<0)
K++, i++;
Else i++;
}
If(k>0)
Return 1;
Else
Return 0;
}
Int main()
{
Fin>>n;
For(i=1;i<=n;i++)
Fin>>v[i];
Cout<<suma(v,1,n);
}
II. Operatii elementare

1.
V.I.
Int fct(int a, int b)
{
If(b==0)
Return 1;
Else
Return a*fct(a,b-1);
}
V.II.
Int fct(int a,int b)
{
P=1;
While(b>0)
{
P*=a;
b--;
}
Return p;
}
2.

int produs(int a,int b)


{
if(a>=b)
return 1+produs(a-b,b);
else
return 0;
}
3.

int produs(int a,int b)

if(a>=b)

return 1+produs(a-b,b);

else

return 0;

4.

int putere(int a,int b)

if(b)

return a*putere(a,b-1);

else

return 1;}
III. Algoritmi elementari

1.
int suma(int n)

if(n)

return n%10+suma(n/10);

else

return 0;

2.

int div(int n)

int d,k=0;

for(d=1;d<=n;d++)

if(n%d==0)

k++;

return k;

Tema Acasa

1.

#include<iostream>
using namespace std;
int n;
int suma(int n)
{
if(n==0)
return 0;
else
return n*n+suma(n-1);
}
int main ()
{
cin>>n;
cout<<suma(n);
return 0;
}

3.
#include<iostream>
using namespace std;
int n,x,i,v[100];
int spara(int x)
{int s=0, c=0;
while(n)
{c=n%10;
s=s+c;
n=n/10;
}
if(s%2==0)
return 1;
else
return 0;
}
int dei(int st, int dr)
{int mij, m1, m2;
if(st<dr)
{ mij=(st+dr)/2;
m1=dei(st,mij);
m2=dei(mij+1,dr);
p=p+m1+m2;
if(p>=1)
return 1;
else
return 0;
}
Else
if(spara(v[st])==1)
return 1;
else
return 0;
}
int main()
{ cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
if(dei(1,n)==0)
cout<<"Da";
else
cout<<"Nu";
return 0;
}

You might also like