ÎncepețiÎncepe gratuit

Măsurarea timpului I

În slide-urile lecției, ai văzut cum funcția time.time() poate fi importată și folosită pentru a evalua timpul necesar efectuării unei operații matematice de bază.

Acum, vei folosi aceeași strategie pentru a compara două metode diferite de rezolvare a unei probleme similare: calculează suma pătratelor tuturor numerelor întregi pozitive de la 1 la 1 milion (1.000.000).

Similar cu ce ai văzut în videoclip, vei compara două metode: una care folosește forța brută și una mai sofisticată din punct de vedere matematic.

În funcția formula, folosim formula standard

$$ \frac{N*(N+1)(2N+1)}{6} $$

unde N=1.000.000.

În funcția brute_force, parcurgem fiecare număr de la 1 la 1 milion și îl adăugăm la rezultat.

Acest exercițiu face parte din cursul

Scrierea codului eficient cu pandas

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează rezultatul problemei folosind funcția formula().
  • Afișează timpul necesar pentru a calcula rezultatul cu funcția formula().
  • Calculează rezultatul problemei folosind funcția brute_force().
  • Afișează timpul necesar pentru a calcula rezultatul cu funcția brute_force().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))

# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))
Editează și rulează codul