Sunteți pe pagina 1din 12

Fibonacci

#include <iostream>

//done

using namespace std;

//1. Se citește un număr natural n. Afișați primii n termeni ai șirului lui Fibonacci. Termenii vor fi
afișați separați prin câte un spațiu.

int main()

unsigned int n, i, a=0, b=1, c;

cin>>n;

cout<<b<<" ";

for(i=0;i<n;i++) {

c=a+b;

cout<<c<<" ";

a=b;

b=c;

return 0;

}
#include <iostream>

//done

using namespace std;

//2. Se citesc două numere naturale a și b. Verificați dacă ambele aparțin șirului lui Fibonacci și afișați
mesaje corespunzătoare.

int main()

{unsigned int a, b, n=0, m=1, p;

bool ok1=0, ok2=0;

cin>>a>>b;

while(p<=a && ok1==0) {

p=n+m;

n=m;

m=p;

if(p==a)

ok1=1;}

n=0;

m=1;

while(p<=b && ok2==0) {

p=n+m;

n=m;

m=p;

if(p==b)

ok2=1;}

if(ok1==1 && ok2==1)

cout<<"Ambele nr apartin fibonacci";

else if (ok1==1 && ok2!=1)


cout<<"Doar a apartine fibonacci";

else if (ok1!=1 && ok2==1)

cout<<"Doar b apartine fibonacci";

else

cout<<"Niciun numar nu apartine fibonacci";

return 0;}

#include <iostream>

//done

using namespace std;

//3. Se citește un număr natural n. Afișați toți termenii din șirul lui Fibonacci strict mai mici decât n.

int main()

unsigned int n, a=0, b=1, c=0;

cin>>n;

cout<<b<<" ";

while(c<n-a) {

c=a+b;

a=b;

b=c;

cout<<c<<" ";

return 0;

}
#include <iostream>

//done

using namespace std;

//4. Se citește un număr natural n. Afișați câți termeni din șirul lui Fibonacci sunt mai mici sau egali
decât n.

int main()

unsigned int n, a=0, b=1, c=0;

cin>>n;

cout<<b<<" ";

while(c<=n-a) {

c=a+b;

a=b;

b=c;

cout<<c<<" ";

return 0;

}
#include <iostream>

//done

using namespace std;

//5. Se citesc două numere natural a și b, cu a<b . Afișați toți termenii lui Fibonacci cuprinși între a și
b, inclusiv cele două numere.

int main()

unsigned int a, b, m=0, n=1, p, i;

cin>>a>>b;

for(i=0;i<=b;i++) {

p=m+n;

if(p>=a && p<=b)

cout<<p<<" ";

m=n;

n=p;

return 0;

}
#include <iostream>

//done

using namespace std;

//6. Se citesc două numere naturale a și b, cu a<b. Afișați câți termeni Fibonacci sunt cuprinși între a
și b, inclusiv cele două numere.

int main()

unsigned int a, b, m=0, n=1, p, i, nr=0;

cin>>a>>b;

for(i=0;i<=b;i++) {

p=m+n;

if(p>=a && p<=b)

nr++;

m=n;

n=p;

cout<<nr;

return 0;

}
Descompunere factori primi
#include <iostream>

//done

using namespace std;

//1. Se citește un întreg n. Afișați cel mai mare factor prim din descompunere.

int main()

int n, d=2, maxd=2;

cin>>n;

while(n>1) {

if(n%d==0 && d>maxd)

maxd=d;

while(n%d==0)

n=n/d;

d++;

cout<<maxd;

return 0;

}
#include <iostream>

//done

using namespace std;

//2. Se citește un întreg n. Afișați factorul prim care apare de cele mai multe ori în descompunere.
Dacă sunt mai mulți se va afișa primul întâlnit.

int main()

int n, d=2, p, maxp=0, save;

cin>>n;

while(n>1) {

p=0;

while(n%d==0) {

p++;

n=n/d;

if(p>maxp) {

maxp=p;

save=d;

d++;

cout<<save;

return 0;

}
#include <iostream>

//done

using namespace std;

//3. Se citește un întreg n. Afișați suma exponenților care apar în descompunere. Pe baza acestui
rezultat, verificați dacă numărul este prim sau nu.

int main()

int n, d=2, p, s=0;

cin>>n;

while(n>1) {

p=0;

while(n%d==0) {

p++;

n=n/d;

s=s+p;

d++;

if(s==1)

cout<<"numarul este prim";

else

cout<<"Numarul nu este prim";

return 0;

}
#include <iostream>

//done

using namespace std;

//4. Se citește un întreg n. Afișați descompunerea lui în factori primi și apoi descompunerea
oglinditului.

int main()

{int n, ogl=0, save, d=2, p;

cin>>n;

save=n;

while(save!=0) {

ogl=ogl*10+save%10;

save=save/10;}

while(n>1) {

p=0;

while(n%d==0){

p++;

n=n/d;}

if(p)

cout<<d<<"^"<<p<<endl;

d++;}

cout<<ogl<<endl;

d=2;

while(ogl>1) {

p=0;

while(ogl%d==0){

p++;

ogl=ogl/d; }

if(p)
cout<<d<<"^"<<p<<endl;

d++;}

return 0; }

#include <iostream>

//done

using namespace std;

//5. Se citește un întreg n. Afișați toți factorii primi de o cifră din descompunere.

int main()

int n, p, d=2;

cin>>n;2

while(n>1 && d<=7) {

p=0;

while(n%d==0){

p++;

n=n/d;}

if(p)

cout<<d<<"^"<<p<<endl;

d++;}

return 0;

S-ar putea să vă placă și