Algoritmi
-
Upload
alex-mihai -
Category
Documents
-
view
21 -
download
0
Transcript of Algoritmi
Sa se verifice daca un numar n diferit de 0 sau 1 este prim sau nu.Un numar este prim daca nu are divizori decat pe 1 si pe el insusi.Un numar d este divizor pentru n daca restul impartirii lui n la d este 0.Pentru a afla restul impartirii vom folosi operatorul mod(%)
startciteste nprim=1pentru d=2,n/2 executadaca n mod d =0 atunciprim=0daca prim=1 atunci scrie "este prim"altfelscrie"nu este prim"sfarsit
Sa se afle daca un numar este perfectUn numar este perfect daca este egal cu suma divizorilor sai, inclusiv 1, dar fara el insusi.Exemplu: 6=1+2+3 este numar perfect
startciteste ns=0pentru d=1,n/2 daca n mod d = 0 atuncis=s+ddaca s=n atunci scrie "este numar perfect"sfarsit
Sa se afiseze suma cifrelor unui numar nUltima cifra este data de restul impartirii numarului la 10 (n mod 10).Catul impartirii il aflam folosid operatorul div
startciteste ns=0cat timp n>0{c=n mod 10s=s+cn=n div 10}scrie ssfarsit
Sa se calculeze cmmdc pentru doua numereprin impartiri repetate (algoritmul lui Euclid): ultimul rest diferit de 0 reprezinta cmmdc
startciteste a,bdeimp=aimp=bcat timp imp != 0 executa{r=deimp mod impdeimp=impimp=r}scrie "cmmdc este",deimpstop
prin scaderi repetate (algoritmul lui Nicomachus): din numarul mai mare se scade numarul mai mic cat timp cele doua numere sunt diferite
startciteste a,bcat timp a != b executadaca a>b atuncia=a-baltfelb=b-ascrie "cmmdc este",astop
Sa se afle cifra maxima a unui numar (cea mai mare cifra a unui numar)
startciteste nmax=-1cat timp n>0{c=n mod 10daca max<c atuncimax=cn=n div 10}scrie maxsfarsit
Suma numerelor naturale pare mai mici decat n
citeste nnr=2s=0cat timp nr<=ns=s+nrnr=nr+2sf cat timpscrie s
Suma primelor n numere naturale pare
citeste ni=1nr=2s=0cat timp i<=n s=s+nr nr=nr+2i=i+1sf cat timpscrie s
PalindromSe citeşte un număr întreg a. Să se realizeze un algoritm care să verifice dacă numărul citit este sau nu palindrom. Numim palindrom un număr care este egal cu oglinditul său.De exemplu dacă se citeşte pentru a valoarea 121 atunci algoritmul va afişa „este palindrom", iar dacă va citi 122 va afişa „nu este palindrom".
citeşte aaux ← ao ← 0cât timp aux ≠ 0 execută| o ← o * 10 + aux % 10| aux ← aux / 10|▄Dacă a = o atunci| scrie „este palindrom"|altfel| scrie „nu este palindrom"|▄
Sirul lui Fibonacci Se citeşte un număr întreg n (2< n <= 20). Să se realizeze un algoritm care să afişeze al n-lea termen din şirul lui Fibonacci.
citeşte nf1 ← 1f2 ← 2pentru i ← 3, n execută| f3 ← f2 + f1| f1 ← f2| f2 ← f3|▄scrie f3
Numere prieteneSe citesc două numere întregi a şi b. Să se realizeze un algoritm care să verifice dacă cele doau
numere sunt prietene. Spunem ca două numere sunt prietene dacă suma divizorilor proprii ai unui număr este egală cu celalalt şi invers.
citeşte a, bsa ← 0sb ← 0pentru i ← 2, [a/2] execută| dacă (a % i = 0) atunci| | sa ← sa + i | |▄|▄pentru i ← 2, [b/2] execută| dacă (b % i = 0) atunci| | sb ← sb + i | |▄|▄daca sa = b şi sb = a atunci | scrie „numere prietene”| altfel| scrie „NU sunt numere prietene”Descompunerea în factori primi ai unui numarSe citeşte un număr întreg a. Să se realizeze un algoritm care să afişeze factorii primi şi puterile lor pentru numărul citit. citeşte ad ← 2 cat timp a > 1 execută p ← 0 cat timp (a % d = 0) execută p ← p + 1 a ← a / dsf.cat timp dacă p ≠ 0 atunci scrie d "la puterea" p "*"sf.daca d ← d + 1sf.cat timp
Divizorii proprii ai unui numarSe citeşte un număr întreg a. Să se realizeze un algoritm care să
afişeze toti divizorii proprii ai numărului a. t ← 0 citeşte apentru i ← 2, [a/2] execută dacă (a % i = 0) atunci scrie i t ← 1 sf.dacasf.pentrudaca t = 0 atunciscrie „nu există divizori proprii"sf.daca
Afisarea divizorilor unui numarSe citeşte un număr întreg a. Să se realizeze un algoritm care să afiseze toti divizorii numărului a. citeşte apentru i ← 1, a execută dacă (a % i = 0) atunci scrie isf.dacasf.pentru
Ecuatia de gradul 1Să se rezolve ecuaţia de gradul I pentru coeficienţii a,b reali daţi .
citeste a,bdaca a!=0 atunci {x= (-b/a)scrie x}altfel daca b!=0atunci scrie 'nu exista solutii'altfel scrie 'o infinitate de solutii'sf.dacasf.daca
Numar parSă se introducă de la tastatură un număr întreg x. Scrieţi un
algoritm care testează dacă x este un număr par.
citeşte x;dacă (x%2=0) atunci scrie x, " este par";altfel scrie x, " este impar";sf.dacă
Modulul unui numărSe intoduce de la tastatură un număr întreg x. Scrieţi un algoritm care calculează şi afişează modulul numărului x. citeşte x;dacă x<0 atunci m=-x;altfel m=x;sf.dacăscrie „modulul este: ",m;
INTERSCHIMBAREA VALORILOR A DOUA VARIABILE - METODA CELOR 3 PAHARE
Citeste a,baux=aa=bb=auxScrie a,b
Sa se afle cifra maxima a unui numar (cea mai mare cifra a unui numar)
startciteste nmax=-1cat timp n>0{c=n mod 10daca max<c atuncimax=cn=n div 10}scrie maxsfarsit