Sunteți pe pagina 1din 8

Algoritmi elementari S se scrie un program care determin cel mai mic multiplu comun a dou numere. #include<iostream.h> #include<conio.

h> void main(void) { // declaram variabilele pe care le vom utiliza in program int a, b, i, c, r, min; cout<<Dati primul numar ;cin>>a; cout<<Dati al doilea numar ;cin>>b; getch(); if( a != 0 && b != 0 ) if( a < b ) min = a; else min = b; c = 1; for(i = 1; i <= min; i++ ) if ( a % i == 0 && b % i == 0 ) c = i; cout<<C.m.m.m.c este = <<(a * b) / c< cout<<<<<Apasati tasta ENTER pentru terminarea programului; getch(); }

Algoritmii elementari sunt algoritmi simpli care ne ajuta n rezolvarea problemelor Exemple de algoritmi elementari: -interschimbare -determinarea minimului/maximului -prelucrarea cifrelor unui numar -calcularea celui mai mare divizor comun -testarea unui numar prim -conversii ntre sisteme de numeratii -generarea sirurilor recurente Prin interschimbare ntelegem ca 2 variabile ai si b si schimba reciproc valorile initiale prin intermediul unei variabile auxiliare. Ex a=12 b=-3 aux=a a=b b=aux Pseudocod nceput Citeste a,b aux=a a=b b=aux Scrie a,b Sfrsit

Algoritm de interschimbare Formula

aux<- a a<- b b<-aux Rezolvare: start citeste a, b aux<-a a<-b b<-aux scrie a,b stop

Algoritm de determinarea min/max

O variabila preia continutul primei componente a vectorului (max=v[0] sau mi n=v[0]), apoi o compara pe rind cu celelalte componente ale vectorului, iar in functie de conditia care se pune in program variabila va retine componenta cu valoare maxima sau componente cu valoare minima. Pentru m axim : max=v[0] ; if(v[i]>max) max=v[i] Pentrumi ni m ; min=v[0] ; if(v[i]<min) min=v[i] Exemplu. Se introduc valorile componentelor unui vector si se afiseaza valoarea maxima si valoarea minima. #include<iostream.h> #include<conio.h> void main() {int max,min,n,i,v[100]; cout<<"Introduceti numarul de elemente n="; cin>>n; for(i=1;i<=n;i++) {cout<<"v["<<i<<"]=";cin>>v[i];}; max=v[0]; for(i=1;i<=n;i++) if(v[i]>max) max=v[i] ; cout<<"Valoarea maxima citita este"<<" "<<max<<endl; min=v[0]; for(i=1;i<=n;i++) if(v[i]<min) min=v[i]; cout<<"Valoarea minima citita este"<<" "<<min Algoritm pentru prelucrarea cifrelor unui numar

Suma cifrelor unui numar #include<iostream.h> void main()


4

{ int s; long d,x; cout<<"x=";cin>>x; d=x; s=0; while(d) { s=s+d%10; d=d/10; } cout<<"s="<<s; }

Algoritm pentru determinarea cmmdc

Algoritmul: -citim a si b; -daca a*b=0 scrie a+b; -altfel cat timp a!=b executa Daca a>b atunci scade din a pe b Altfel scade din b pe a -afiseaza a. Pseudocodul start citeste a,b daca a*b=0 atunci scrie a+b altfel cat timp a!=b executa daca a>b atuncia=a-b altfel b=b-a scrie a stop

Observatii 1.Numarul se modifica.Daca dorim sa folosim numarul dupa calculul Cmmdc atunci trebuie sa le facem o copie:x=a si y=b. 2.Algoritmul este lent din punct de vedere al timpului.

Algoritm pentru determinarea unui numar prim

cin>>n; ok=1; if(n==0||n==1) ok=0; for(i=2; i<=n/2; i++) if(u%i==0) ok=0; if(ok==1) cout<<nr este prim; else cout<<nr nu este prim;

Algoritm pentru determinarea divizorilor

#include<iostream.h> int main () {int n, nr=0,m; cout<<"numarul este:"; cin>>n; for(int d=2;d<=n/2;d++) if(n%d==0)nr++; cout<<"Numarul de divizori ai numarului "<<n<<" este "<<nr+2; cin>>m;