1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã hiệu quả với pandas

Connected

Bài tập

Đo thời gian I

Trong các slide bài giảng, bạn đã thấy cách tải và dùng hàm time.time() để đo thời gian cần thiết cho một phép toán toán học cơ bản.

Bây giờ, bạn sẽ dùng cùng chiến lược đó để so sánh hai phương pháp khác nhau cho một bài toán tương tự: tính tổng bình phương của tất cả các số nguyên dương từ 1 đến 1 triệu (1,000,000).

Tương tự như trong video, bạn sẽ so sánh hai cách: một cách duyệt thô (brute force) và một cách dùng công thức toán học hiệu quả hơn.

Trong hàm formula, ta dùng công thức chuẩn

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

với N = 1,000,000.

Trong hàm brute_force, ta lặp qua từng số từ 1 đến 1 triệu và cộng bình phương của chúng vào kết quả.

Hướng dẫn

100 XP
  • Tính kết quả của bài toán bằng hàm formula().
  • In ra thời gian cần để tính kết quả bằng hàm formula().
  • Tính kết quả của bài toán bằng hàm brute_force().
  • In ra thời gian cần để tính kết quả bằng hàm brute_force().