0% found this document useful (0 votes)
61 views6 pages

Algoritmi Recursivi

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views6 pages

Algoritmi Recursivi

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Cmmdc Int cmmdc(int a, int b) {If (a==0) return b; Else if (b==0) returna; Else return cmmdc (b, a%b);}

Prim: Int prim (int n, int I {if (i==1) return 1; Else return (n%i!=0) && prim (n,i-1);}

Inversul unui nr: Void inv (unsigned long n, unsigned long nr) {if (n<10) return nr+n; Else return inv(n/10, 10*(nr+n%10));}

Descompunerea in factori primi: Void factor (int n, int f, int p) {if (n>1) If (n%f==0) factor (n/f, f, p+1; Else {if (p!=0) cout<<f<<la puterea<<p<<endl; Factor (n, f+1, 0);} Else if (p!=0) cout<<f<<la puterea<<p;}

Eliminarea cifrelor pare long sterge(long n) { if(n==0) return 0; else if(n%2==1) return sterge(n/10)*10+n%10; else return sterge(n/10); } numar divizori

#include<iostream.h> int nrdivizori(int n, int d){ if(d==n) return 0; else if(n%d==0) return 1+nrdivizori(n, d+1); else return nrdivizori(n, d+1); } int main(){ int x, d1=1; cin>>x; cout<<nrdivizori(x,d1); }

nr de aparitii a unei cifre intr-un nr #include<iostream.h> int nraparitii(int n, int c){ if(n==0) return 0; else if(n%10==c) return 1+nraparitii(n/10,c) else return nraparitii(n/10,c); } int main() {int n,c; cin>>n; cin>>c; cout<<nrapartii(n,c); }

ordonare vector #include <iostream.h> int n,x[100]; void ordo (int i,int j,int n){ int aux; if (i<=n-1) if (j<=n) { if (x[i]>x[j]){ aux=x[i];

x[i]=x[j]; x[j]=aux; ordo(i,j+1,n); else ordo(i+1,i+2,n); } int main(){ int i; cin>>n; for(i=1;i<=n;i++) cin>>x[i]; ordo(1,2,n); for(i=1;i<=n;i++) cout<<x[i]<<" "; } } }

eliminarea elementelor pare din vector #include <iostream.h> int n,x[100]; void f(int i,int &n){ int aux,j; if (i<=n){ if (x[i]%2==0){ for(j=i;j<n;j++){ x[j]=x[j+1]; n=n-1; }

f(i,n); else f(i+1,n); int main(){ int i; cin>>n; for(i=1;i<=n;i++) cin>>x[i]; f(1,n);

}}

for(i=1;i<=n;i++) cout<<x[i]<<" "; }

testare daca e palindrom #include <iostream.h> int inv(int n, int x){ if (n==0) return x; else return inv(n/10,x*10+n%10); } int main() { int n; cin>>n; int x=0; if(inv(n,x)==n) cout<<"da"; else cout<<"nu"; }

verificarea existentei unui nr intr-un vector #include<iostream.h> int v[100],n,x; int verifexistenta(int n, int x){ if(n==0) return 0; else if(v[n]==x) return 1; else return verifexistenta(n-1,x); } int main(){ int i; cin>>x; cin>>n; for(i=1; i<=n; i++) cin>>v[i]; if(verifexistenta(n,x)==0) cout<<"nu exista"; else cout<<"exista"; }

You might also like