Sunteți pe pagina 1din 6

1.

Algoritmul pentru prelucrarea cifrelor unui


numar nr
cat timp nr !=0 executa
cfnr%10 //extrag o cifra
nnr/10 //o elimin

//prelucrez cf in functie de ce cere


problema
2.
Algoritmul pentru aflarea inversului (oglinditul)
unui numar nr
Exemplu daca nr=123 atunci inv=321
Ca sa adaug o noua cifra la invers voi inmulti cu 10 si voi
aduna noua cifra (inv=inv*10+cf)
inv0
cat timp nr !=0 executa
cfnr%10
//extrag o cifra
nrnr/10
//o elimin
invinv*10 +cf //adaug cifra la invers
.//prelucrez inv in functie de ce cere problema
3.

Algoritmul pentru crearea unui numar

A.
Se creaza un numar punand cifre de al stanga
la drepta
Exemplu : deca vrem sa facem un numar folosid
cifrele 2,5,1 atunci nr=251
nr0
// initializez numarul
..
// parcurg multimea de
unde imi extrag
cifrele si iau o
cifra

extrag

nrnr*10+cf // adaug la numar o cifra


B.
Se creaza un numar punand cifre de al stanga
la drepta
Exemplu : deca vrem sa facem un numar folosid
cifrele 2,5,1 atunci nr=152
nr0
// initializez numarul si numarul
ce reprezinta o putere a lui 10
p1
..
// parcurg multimea de unde imi
cifrele si iau o cifra
nrcf*p+nr
// adaug la numar o cifra
pp*10

4.
Algoritmul pentru prelucrarea divizorilor unui
numar
Divizorii d ai unui numar nr apartin intervalului [1,nr] si au
proprietatea ca nr%d =0
pentru d1,nr executa
//parcurg intervalul [1,nr]
daca nr%d=0 atunci //daca nr se imparte exact la d

//d este divizor si se prelucreaza in


functie de ce cere
problema
5.
Algoritmul pentru verificarea ca un numar este
prim
Un numar nr este prim daca are doar 2 divizori( deci
vom contoriza cati divizori are si apoi vom verifica daca
are doar 2)
ct0
pentru d1,nr executa
//parcurg intervalul [1,nr]

daca nr%d=0 atunci


ctct+1

daca ct=2 atunci ..


prim si se prelucreaza

//daca nr se imparte exact la


//d este divizor si cresc contorul
//daca nr are 2 divizori este

6.
Algoritmul pentru aflarea puterii unui divizor d
din descompunerea unui numar in factori primi.
Exemplu: daca n=300 si d=5 atunci se afiseaza 2 (300=22 *
31 * 52)
putere0
//initializez puterea
cat timp n%d=0 executa // cat timp numarul se imparte
exact la divizor
putereputere+1
//initializez puterea
nn/d
// si impart numarul la divizor
7.
Algoritmul pentru afisarea descompunerii unui
numar in factori primi
Exemplu: daca n=300 si d=5 atunci se afiseaza 2 la puterea
2 ; 3 la puterea 1; 5 la puterea 2 (300=22 * 31 * 52)
d2 //pornesc de la primul divizor prim
cat timp n>1 executa
//cat timp n mai are divizori
putere0
//initializez puterea
cat timp n%d=0 executa // cat timp numarul se
imparte exact la divizor
putereputere+1
//initializez puterea
nn/d
// si impart numarul la divizor

daca p!=0 atunci


diferita de 0 atunci d

//daca puterea este

este divizor prim


scrie d, la puterea, putere
dd+1
8.
Algoritmul pentru prelucrarea unui sir de
numere care se termina in 0
citeste n
//citesc un numar din sir
cat timp n!=0 executa //cat timp numarul citit e diferit de
0 (nu am ajuns la sfarsitul sirului)
..
//prelucrez numarul in functie de ce cere
problema
citeste n
//citesc alt numar din sir
9.
Algoritmul pentru prelucrarea unui sir de n
numere
Fie: n=cate numere sunt in sir
v=valoarea din sir in funtie de i
i=indicere valorii din sir (a cata valoare este)
de exemplu : pentru datele de intrare 5 2 5 4 67 3 , daca am
ajuns in sir pe pozitia 4 (i=4) : n=5 si v=67 (prima valoare
este a lui n
citeste n
//citesc cate numere am in sir
pentru i1,n executa //parcurg indicii
citeste v
//iau un numar din sir
..
//prelucrez numarul din sir in functie
de ce cere
problema

10. Algoritmul pentru aflarea celui mai mic divizor


comun a 2 numere a si b
Idee: cat timp sunt diferite ma intreb care este mai mari si
din cel mai mare il scad pe cel mai mic
cat timp a!=b executa
daca a>b atunci
aa-b
mai mic
altfel
bb-a

//cat timp sunt diferite


//ma intreb care este cel mai mare
//si din cel mai mare il scad pe cel

11. Algoritmul pentru afisarea primilor n termini ai


sirului lui Fibonacci (n>2).
0,
daca n=0
Fibonacci(n)=
1,
daca n=1
Fibonacci(n-1)+ Fibonacci(n-2) , daca n>1

citeste n
//citesc cate numere am de prelucrat
a0;b1 //initializez primii 2 termeni
scrie a, b
//ii afisez
pentru i3,n executa //mai am de creat n-3 termeni
ca+b
//calculez noul termen
scrie c
//il afisez
ab
bc
12. Algoritmul pentru verificarea ca un numar x
apartine sirului lui Fibonacci (x>5).
citeste x
//citesc numarul
a1;b1 //initializez primii 2 termeni

ca+b
cat timp c<x executa //cat timp nr din sir este mai mic
decat x
construiesc sirul
ca+b
//calculez noul termen
ab
bc
daca c=x atunci
// x apartine
atfel .// x nu apartine

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