1. Suma cu acumulator
# Suma numerelor de la 1 la n n = 5 suma = 0 for i in range(1, n + 1): suma = suma + i print("Suma de la 1 la", n, "este", suma)
Suma de la 1 la 5 este 15
2. Produsul (factorialul)
# Produsul numerelor de la 1 la n (factorialul lui n) n = 5 produs = 1 for i in range(1, n + 1): produs = produs * i print("Produsul (n!) pentru n =", n, "este", produs)
Produsul (n!) pentru n = 5 este 120
3. Minim si maxim dintr-un sir
# Minimul si maximul dintr-un sir de numere numere = [7, 2, 9, 4, 9, 1, 6] minim = numere[0] maxim = numere[0] for x in numere: if x < minim: minim = x if x > maxim: maxim = x print("Minim =", minim) print("Maxim =", maxim)
Minim = 1 Maxim = 9
4. Numarare cu contor
# Numararea elementelor pare dintr-un sir numere = [7, 2, 9, 4, 9, 1, 6] contor = 0 for x in numere: if x % 2 == 0: contor = contor + 1 print("Numar de elemente pare:", contor)
Numar de elemente pare: 3
5. Divizorii unui numar
# Afisarea divizorilor lui n si numararea lor n = 24 contor = 0 for d in range(1, n + 1): if n % d == 0: print(d, end=" ") contor = contor + 1 print() print("Numar de divizori:", contor)
1 2 3 4 6 8 12 24 Numar de divizori: 8
6. Numar prim (test pana la √n)
d * d <= n este suficienta.
# Verificare daca un numar este prim (varianta simpla) n = 29 if n < 2: prim = False else: prim = True d = 2 while d * d <= n: if n % d == 0: prim = False d = d + 1 if prim: print(n, "este prim") else: print(n, "NU este prim")
29 este prim
La specializarea intensiv informatica scriem si in C++. Acelasi test de primalitate, cu acelasi rationament O(√n):
#include <iostream> using namespace std; int main() { int n = 29; bool prim = (n >= 2); for (int d = 2; (long long)d * d <= n; d++) { if (n % d == 0) { prim = false; } } if (prim) cout << n << " este prim" << endl; else cout << n << " NU este prim" << endl; return 0; }
29 este prim
Observa cum (long long)d * d protejeaza de depasire pentru n mare, iar logica este identica cu Python.