2. a) 15 Explicatie: Algoritmul afiseaza cel mai mare divizor propriu al lui n b) Algoritm echivalent citeste n daca n<0 atunci n -n sfarsit daca d1
i 2 cat timp i<=[n/2] executa daca i|n atunci di sfarsit daca ii+1
sfarsit cat timp scrie d
c) Programul #include void main(){ unsigned int n,i,d; cin>>n; if(n<0) n=-n; d=1; for(i=2;i<=n/2;i++) if(n%i==0) d=i; cout<
d) 25 sau 17 (orice numar prim sau patrat perfect de numar prim)
Explicatie: Pentru orice numar prim, algoritmul va afisa 1 si intr-un caz, si in celalalt. Pentru patratul oricarui numar prim, ambii algoritmi vor afisa radicalul numarului (5 pentru n=25, 11 pentru n=121 etc)