Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
rezolvari atestat2010 - miercuri - c++

rezolvari atestat2010 - miercuri - c++

Ratings: (0)|Views: 3,522 |Likes:
Published by anonymus12

More info:

Categories:Types, School Work
Published by: anonymus12 on May 18, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





Rezolvari atestat 2010
1.Se citesc de la tastatura n fractii in forma( numarator, numitor). Se cere sa se calculezesuma acestor fractii (in forma ireductibila). Ex 7/6 + 1/3 +1/4 +2/5=43/20.# include <iostream.h>int cmmdc(int d, int i)// calculam cmmdc cu algoritmul lui euclid recursiv,i esteimpartitorul iar d deimpartitul{if(i= =0) //daca impartitorul e nul se returneaza deimpartitulreturn d;elsereturn cmmdc(i,d%i);//deimp.devine impartitorul iar impartitorul devine restu}int cmmmc(int a,int b)//calculam cmmmc{return (a*b)/cmmdc(a,b);}void main( ){int a,b,c,d,n;cout<<"n="; cin>>n;//citim nr de fractii//citim prima fractiecout<<"numarator 1: "; cin>>a;cout<<"numitor 1: "; cin>>b;for (int i=2;i<=n;i++){//citim pe rand incepand cu cea de a doua fractiecout<<"numarator: "; cin>>c;cout<<"numitor: "; cin>>d;//calculam acum suma dintre primele fractii(aducem la numitor comun care este cmmmcdintre numitorul b si d)a=a*cmmmc(b,d)/b + c*cmmmc(b,d)/d;//imnultim primul numarator cu cmmmcsi al doilea tot cu cmmmc ca sa obtinem numaratorul fractiei suma rezultat din adunarea primei fractii cu a doua b=cmmmc(b,d);// numitorul noii fractii suma}// fractia sumacu numarator a si numitor b care se obtine o simplific astfelfor (d=2;d<=a/2;d++)// caut divizori pt numaratorul fractiei suma ce am obtinut-o{if (a%d= =0)// verific daca si numitorul b si numaratorul a se simplifica cu dif (b%d= =0){a=a/d;// impart numitorul si numaratorul cu divizorii lor b=b/d;}}cout<<a<<"/"<<b<<endl;//afisam matricea}2.Sa se scrie un program care calculeaza "cifra de control" a unui numar intreg efectuand1
suma cifrelor sale, apoi suma cifrelor acestei sume etc. pana se obtine o suma formatadintr-o singura cifra. ex: cifra de control a numarului 1971 este 9 (1971->18->9)# include <iostream.h>int sc(int x){//calculam suma cifrelor int s=0;while (x!=0){ s=s+x%10;x=x/10; }return s;}void main(){int x,s;cin>>x;// citim numarulwhile(x>10)// cat timp numarul are cel putin 2 cifre ii tot calculam suma cifrelor x=sc(x);cout<<x<<endl;getch();}3.Sa se scrie un program care determina primele n cifre din seria fractiei subunitarek/m=0.c1c2...cn pentru k, m(k<m) si n numere naturale citite de la tastatura.ex. pentru k=5, m=23 si n=5 se va afisa 0.21739# include <iostream.h># include <iomanip.h>void main(){int k,m,n;//citim numaratorul k si numitorul m al fractiei k/mcout<<”k=; cin>>k;cout<<”m=; cin>>m;cout<<”n=”;cin>>n;//citim numarul de cifre cout<<setprecision(n)<<(float)k/m;//calculeaza cu virgula fractia k/m //setprecision(n) calculeza numarul de cifre ale unui numar zecimal}4. Sa se afiseze toate numerele prime de trei cifre care citite invers sunt tot numere prime.ex. 761 este prim si 167 este tot prim# include <iostream.h># include <math.h>int ogl(int x){//calculam oglinditulint o=0, c;while(x!=0){2
c= x%10o=o*10+c;x=x/10;}return o;}int nprim(int x){//testam daca un numar este primint prim=1,d;for (d=2;d<=x/2;d++)if (x %d==0)prim=0;return prim;}void main(){int x;for(x=100;x<=999;x++)//parcurg numerele de 3 cifre{if(nprim(x)==1 && nprim(ogl(x))==1)// testam daca x si oglinditul lui sunt primecout<<x<<" ";}}5. Se spune ca n este deosebit daca exista un numar natural m astfel incat n=m+S(m),unde S(m) este suma cifrelor lui m.Sa se scrie un program care verifica daca un numar natural n dat este deosebit. ex. 1235 este deosebit (1235=1225+10).# include <iostream.h>int sc(int x){//calculam suma cifrelor int s=0;while (x!=0){ s=s+x%10;x=x/10; }return s;}void main(){ int n;cin>>n;if(n-sc(n)>0)//verificam daca diferenta dintre numar si suma cifrelor sale e mai mare ca0,atunci insemna ca am gasim un m=n-s(n)cout<<"DA";elsecout<<"NU";}6. O carte se pagineaza cu numere de la 1 la n (20<=n<=10000). Fiind dat n, sa se afle catecifre s-au folosit la paginare. ex.pentru o carte cu 100 de pagini se folosesc 192 cifre.3

Activity (59)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
danates liked this
Alexandru Bogdan liked this
Sorin Valentin liked this
Valentin Ghita liked this
Dragos821136 liked this
Gabriell George liked this
Raluca Buligescu liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->