Documente Academic
Documente Profesional
Documente Cultură
Aplicatii Algoritmi Elementari
Aplicatii Algoritmi Elementari
1. Dat n un numar natural nenul de cel mult 9 cifre, sa se verifice daca este liber de patrate (in
descompunerea in factori primi, nici un factor prim nu apare la o putere para)
2. Sa se afiseze factorii primi, in ordine crescatoare, din descompunerea unui numar natural nenul
dat.
3. Se citesc pe rand n numere naturale nenule, sa se afiseze numerele citite care au un numar impar
de factori primi in descompunere. Sa se afiseze cate astfel de numere s-au gasit.
V. cmmdc si cmmmc
Cmmmc(a, b)=a*b/cmmdc(a,b)
1. Se citesc pe rand n numere naturale, sa se determine cmmdc-ul/cmmmc-ul acestora
2. Se citesc numere intregi pana la citirea lui 0, sa se afiseze toate tripletele de numere consecutive
a,b,c cu proprietatea cmmdc(a,b) = c
3. Fie fractia intreaga a/b data prin numarator si numitor, sa se afiseze fractia ireductibila
4. Se citesc pe rand n numere naturale. Sa se determine cate dintre acestea sunt prime cu k dat
5. Se citesc pe rand n fractii date prin numarator si numitor. Sa se afiseze fractia suma in forma
ireductibila
int i;
f0=1; f1=1; if (n >=2)
pentru i=1,n,+1 executa {
f2=f0+f1 f0=f1=1;
f0=f1 for (i=2; i<=n; i++)
f1=f2 {
sfarsit pentru f2=f1 + f0;
prelucrare(f2);
f0=f1; f1=f2;
}
APLICATII:
1. Dat n numar natural in baza b1 si o baza b2 sa se afiseze conversia numarului din b1 in b2
2. Dat n numar natural si o baza b sa se determine numarul de cifre necesar conversiei in baza b a lui n
3. Dat n numar natural si o baza b sa se determine numarul de cifre 0 din reprezentarea in baza b
4. Dat a in baza b1 si b in baza b2 sa se decida care din ele este mai mare in baza 10
#include <fstream.h>
ifstream fin(“….in”);
ofstream fout(“….out”);
Citirea pe rand a n numere si prelucrarea lor
fin>>n;
for (i=1; i<=n; i++)
{
fin>>x;
prelucrare(x);
}
Citirea pe rand a n numere si prelucrarea perechilor de nr. citite consecutiv
fin>>n;
fin>>a;
for (i=2; i<=n; i++)
{
fin>>b;
prelucrare(a, b);
a=b;}
Citirea pe rand a numerelor pana la indeplinirea unei conditii
fin>>n;
while (cond)
{
prelucrare(n);
fin>>n;
}
Citirea pe rand a numerelor pana la sfarsitul fisierului fara sa stim cate numere sunt
while (fin>>x)
prelucrare(x);
EX: construirea vectorului de frecventa sau a vectorului caracteristic pentru un sir numerele din
fisier
while (fin>>x)
c[x]++; //sau c[x]=1;
Obs: Algoritmii de citire si prelucrare pe rand sunt liniari (se pot utilize in cazul cerintelor de
algoritmi eficienti ca timp de executie si spatiu de memorie)