#include <iostream> using namespace std; int main() { unsigned n,f=2,p; cin>>n; while(n!=1) { p=0; while(n%f==0) { n/=f; ++p; } if(p>0)cout<<f<<" "<<p<<endl; ++f; } return 0; }
Descompunerea în factori primi
0 CommentsLeave a comment
#include <iostream> using namespace std; int main() { unsigned n,f=2,p; cin>>n; while(n!=1) { p=0; while(n%f==0) { n/=f; ++p; } if(p>0)cout<<f<<" "<<p<<endl; ++f; } return 0; }
#include <iostream> using namespace std; int main() { unsigned n,ok=1,f=2,p; cin>>n; while(n!=1&&ok==1) { p=0; while(n%f==0) { n=n/f; ++p; } if(p%2!=0)ok=0; ++f; } if(ok==1)cout<<"da"; else cout<<"nu"; return 0; }
#include <iostream> using namespace std; int main() { long n,a,b,c; cin>>n; while(n!=0) { a=0;b=1; while(a+b<=n) { c=a+b; a=b; b=c; } n=n-c; cout<<c<<" "; } return 0; }
#include <iostream> using namespace std; int main() { long x,a,b,c,i,k=1,p=0; cin>>x; if(x==1)cout<<"1 1"; else if(x==2)cout<<"1 1 2"; else { cout<<"1 1 "; a=1; b=1; p=a+b; while(p<x) { p=a+b; a=b; b=p; ++k; } a=1; b=1; for(i=3;i<=k;++i) { c=a+b; cout<<c<<" "; a=b; b=c; } } return 0; }
#include <iostream> using namespace std; int main() { long n,i,a,b,c; cin>>n; if(n==1||n==2)cout<<"1"; else { a=1; b=1; for(i=3;i<=n;++i) { c=a+b; a=b; b=c; } cout<<c; } return 0; }
Scrieți un program care să insereze numărul x pe poziția p în vectorul v(v cu n numere).
#include <iostream> using namespace std; int main() { int x,p,v[101],i,n; cin>>n; for(i=1;i<=n;++i)cin>>v[i]; cin>>x>>p; for(i=n;i>=p;--i)v[i+1]=v[i]; v[p]=x; ++n; for(i=1;i<=n;++i)cout<<v[i]<<" "; return 0; }
Scrieți un program care să elimine toate aparițiile numărului x din vectorul v(v cu n elemente).
#include <iostream> using namespace std; int main() { int x,v[101],i,j,n; cin>>n; for(i=1;i<=n;++i)cin>>v[i]; cin>>x; for(i=1;i<=n;++i) if(v[i]==x) { for(j=i;j<=n-1;++j)v[j]=v[j+1]; --n;--i; } for(i=1;i<=n;++i)cout<<v[i]<<" "; return 0; }
1.Minim
#include <iostream> #include <climits> using namespace std; int main() { int v[101],min1=INT_MAX,min2=INT_MAX,i,n; cin>>n; for(i=1;i<=n;++i)cin>>v[i]; for(i=1;i<=n;++i) { if(v[i]<min1) { min2=min1; min1=v[i]; } else if(v[i]<min2)min2=v[i]; } cout<<min1<<" "<<min2; return 0; }
2.Maxim
#include <iostream> #include <climits> using namespace std; int main() { int v[101],max1=INT_MIN,max2=INT_MIN,i,n; cin>>n; for(i=1;i<=n;++i)cin>>v[i]; for(i=1;i<=n;++i) { if(v[i]>max1) { max2=max1; max1=v[i]; } else if(v[i]>max2)max2=v[i]; } cout<<max1<<" "<<max2; return 0; }
Dacă avem nevoie de prea multe valori maxime sau minime, în loc să luăm mai multe variabile vom ordona vectorul (des)crescător și vom afișa numărul de maxime/minime necesar.
1.Minim
#include <iostream> #include <climits> using namespace std; int main() { int v[101],min=INT_MAX,i,n; cin>>n; for(i=1;i<=n;++i) { cin>>v[i]; if(v[i]<min)min=v[i]; } cout<<min; return 0; }
2.Maxim
#include <iostream> #include <climits> using namespace std; int main() { int v[101],max=INT_MIN,i,n; cin>>n; for(i=1;i<=n;++i) { cin>>v[i]; if(v[i]>max)max=v[i]; } cout<<max; return 0; }
Perechile oarecare de numere dintr-un vector sunt formate cu ajutorul a n for-uri, unde n este numărul de elemente dintr-o pereche.
De exemplu, pentru a prelucra perechi oarecare de 2 elemente într-un vector vom folosi 2 for-uri.
for(i=1;i<=n-1;++i)
for(j=i+1;j<=n;++j)
prelucrează v[i], v[j]