Sunteți pe pagina 1din 1

Patru probleme si rezolvarile lor elementare

1.Sa se afiseze in ordine crescatoare divizorii unui numar


Ideea: Incercam pe rand cu 1,2,3,,n si verificam daca restul la impartire este 0; daca da atunci afisam divizorul

2. Sa se afle cati divizori are un numar.


Ideea: Procedam ca la 1, doar ca in loc sa afisam crestem cu 1 valoarea unei variabile contor! in care la inceput am pus 0; la sfarsit afisam variabila

3. Sa se afle suma divizorilor unui numar


Ideea: Procedam ca la 2, doar ca in loc sa adau"am 1 vom adau"a c#iar divizorul

Sa se afle cmmdc pentru doua numere


Ideea: $rmatoarea id%e ii apartine marelui mat#ematician &uclid; 'mmdc a,b!(a, daca b((0 'mmdc a,b!('mmdc b,a)b!, daca b*(0

Citeste N X1 While(X<=N) { If(N X==!) { "#rie X$% & ' XX(1 '

.in#lu/e<st/io0h1 int N$X2 int main() { printf(&N=%)2 s#anf(& /%$3N)2 X=12 4hile (X<=N) { if(N X==!) { printf(& / &$X)2 ' X=X(12 ' printf(&5n%)2 return !2 '

Citeste N C! X1 While(X<=N) { If(N X==!) { CC(1 ' XX(1 ' "#rie C .in#lu/e<st/io0h1 int N$X$C2 int main() { printf(&N=%)2 s#anf(& /%$3N)2 C=!2 X=12 4hile (X<=N) { if(N X==!) { C=C(12 ' X=X(12 ' printf(& /%$C)2 printf(&5n%)2 return !2 '

Citeste N "! X1 While(X<=N) { If(N X==!) { ""(X ' XX(1 ' "#rie " .in#lu/e<st/io0h1 int N$X$"2 int main() { printf(&N=%)2 s#anf(& /%$3N)2 "=!2 X=12 4hile (X<=N) { if(N X==!) { "="(X2 ' X=X(12 ' printf(& /%$")2 printf(&5n%)2 return !2 '

Citeste )$* X) +* While (+,=!) { -X + X+ +' "#rie X .in#lu/e<st/io0h1 int )$*$X$+$-2 int main() { printf(&)=%)2 s#anf(& /%$3))2 printf(&*=%)2 s#anf(& /%$3*)2 X=)2 +=*2 4hile (+,=!) { -=X +2 X=+2 +=-2 ' printf(& /%$X)2 printf(&5n%)2 return !2 '

6bservatie7 1) Pro8ramele s#rise in limba9 C vor fun#tiona #orre#t /oar pentru numere #el mult e8ale #u :;!!!0 Pro8ramele pot fi usor mo/ifi#ate astfel in#at sa fun#tioneze #orre#t si pentru numere #el mult e8ale #u ; miliar/e (sau #hiar < miliar/e)$ /ar pentru a#easta vor trebui fa#ute mo/ifi#ari asupra tipurilor variabilelor 2 in lo# /e int N$X2 vom pune lon8 N$X2 iar la #itire in lo# /e / vom s#rie l/ ;) =iteza al8oritmilor 1$;$: poate fi imbunatatita #onsi/erabil /ar pentru a#easta trebuie fa#ute niste observatii matemati#e

S-ar putea să vă placă și