Se citeste un numar natural n cu cel mult 9 cifre.
Sa se calculeze numarul obtinut din cifrele lui pare aflate pe pozitii impare, n umararea pozitiilor cifrelor incepand cu cifra cea mai semnificativa. Ex: daca n=2346561 rezulta 24 #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { long n,r=0; f>>n; while(n) { r=r*10+n%10; n=n/10; } while(r) { if(r%2==0) n=n*10+r%10; r=r/100; } g<<n; f.close(); g.close(); return 0; } 2) Se citesc 2 vectori A si B cu n si respectiv m elemente numere intregi. Elementele vectorilor sunt ordonate crescator. Sa se construiasca un vector C care sa contina elementele din A si B ordonate cr escator. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int a[10],n,b[10],m,c[20],p; int main() { int i,j,k; f>>n; for(i=1;i<=n;i++) cin>>a[i]; f>>m; for(i=1;i<=m;i++) f>>b[i]; i=j=k=1; while(i<=n && j<=m) if(a[i]<b[j]) c[k++]=a[i++]; else c[k++]=b[j++]; while(i<=n) c[k++]=a[i++]; while(j<=m) c[k++]=b[j++]; for(i=1;i<=n+m;i++) g<<c[i]<<" "; f.close(); g.close(); return 0; } 3) Se citeste un numar natural de maxim 9 cifre. Sa se afiseze cea mai mare si cea mai mica cifra din numar. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { int c,min=10,max=0; long n; f>>n; while(n) {c=n%10; if(c>max) max=c; else if(c<min) min=c; n=n/10; } g<<min<<" "<<max; return 0; 4) Se citeste un numar natural cu cel mult 4 cifre. Sa se calculeze cel mai mic multiplu par al numarului obtinut din prima si ultim a cifra a numarului citit. Ex. pentru 1265 se obtine 30 (2*15) #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { int n,p,u; f>>n; u=n%10; while(n>9) n=n/10; p=n; g<<(p*10+u)*2;} f.close(); g.close(); return 0; } 5) Se citeste un numar natural n de maxim 9 cifre. Sa se determine daca el are toate cifrele ordonate strict descrescator de la cif ra cea mai semnificativa spre cifra unitatilor. Ex: Pentru 54321 se va afisa DA, iar pentru 543234 se va afisa NU. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() {long n; int c,d,p=1; d=0; f>>n; while(n) {c=n%10; if(c<d) p=0; n=n/10; d=c; } if(p==1) g<<"da"; else g<<"nu"; f.close(); g.close(); return 0; } 6) Se citeste un numar natural cu cel mult 9 cifre. Sa se determine de cate ori apare ultima cifra in numarul citit. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { long n,k=0,c; f>>n; c=n%10; while(n) { if(n%10==c) k++; n=n/10; } g<<k; f.close(); g.close(); return 0; } 7) Se citeste un numar natural n cu cel mult 9 cifre. Sa se determine cea mai mare cifra a lui n si de cate ori apare ea in n. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { int n,k=0,cmax=0; f>>n; while(n>0) { if(n%10>cmax) { cmax=n%10; k=1; } else if(n%10==cmax) k++; n=n/10; } g<<cmax<<" "<<k; f.close(); g.close(); return 0; } 8) Se considera urmatorul sir de numere: 1, 1, 2, 2, 1, 2, 3, 3, 3, 1, 2, 3, 4, 4, 4, 4, ... . Pentru un numar natural n de maxim 4 cifre sa se scrie un program eficient ca ti mp de executie si utilizare a memoriei care sa determine elementul de pe pozitia n din sirul definit mai sus. #include<iostream> #include<math.h> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { int n,k; f>>n; k=sqrt(n); if(k*k==n) g<<k; else if(n-k*k<=k+1) g<<n-k*k; else g<<k+1; f.close(); g.close(); return 0; } 9) Se citeste un numar natural n de maxim 4 cifre. Sa se calculeze si sa se afiseze termenii din sirul lui Fibonacci care sunt mai mici decat n. #include<iostream.h> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() { int x,y,z,n; f>>n; x=1;y=1;g<<"1 1 "; while(x+y<n) { z=x+y; g<<z<<" "; x=y; y=z; } f.close(); g.close(); return 0; } 10) Se citesc n numere naturale. Sa se afiseze ce mai mare numar prim si de cate ori apare el. #include<iostream> #include<fstream> using namespace std; ifstream f("tema.in"); ofstream g("tema.out"); int main() {int n,x,ok,max=0, nrap,i,d; f>>n; for(i=1;i<=n;i++) { f>>x; ok=1; if(x==0 || x==1) ok=0; else for(d=2;d<=x/2;d++) if(x%d==0) ok=0; if(ok) if(x>max) { max=x; nrap=1; } else if(x==max) nrap++; } g<<max<<" "<<nrap; break; f.close(); g.close(); return 0; }