Skip to content

quangvinh86/python-projecteuler

Repository files navigation

Project Euler là một loạt các bài toán liên quan đến ứng dụng toán học, tư duy logic và lập trình.

Trong nhiều trường hợp, bạn có thể tạo ra một giải pháp "trâu bò" để ra được kết quả.

Nếu bạn thực sự muốn tạo ra các giải pháp tốt, tối ưu về giải thuật và thời gian chạy nhanh chóng, bạn cần nghiên cứu một số giải thuật toán học đằng sau các vấn đề.

Việc tối ưu được một bài toán từ PE sẽ giúp người thực hiện có một "bước tiến" trong tư duy logic và ứng dụng ngôn ngữ lập trình.

Cá nhân tôi thích "toán học" (mặc dù không giỏi toán) và tôi lựa chọn Python để giải quyết các bài toán trên PE.

Tại sao lại là Python mà không phải C++/C# hay Java?

Vì Python là ngôn ngữ lập trình đưa tôi đến với Pymi.vn và projecteuler.net

Về code Python, tôi sẽ thực hiện code theo đúng chuẩn PEP8 (tối đa).

Mục tiêu đặt ra của tôi là mỗi tuần làm khoảng 5 bài có giải thích (viết phần giải thích mất rất nhiều thời gian).

Mỗi bài viết có thể gồm có bài giải thích hoặc chỉ có code :D . Những bài tôi không giải thích phần lớn là do... không biết làm thế nào để diễn đạt ý của mình.

Khi nào tôi cán đích hết page-1 thì sẽ dừng lại :)

Danh sách các bài viết phân tích chiến thuật giải các bài toán trên https://projecteuler.net/ (Mục tiêu đặt ra là làm hết page-1, liên tục cập nhật ít nhất 1 ngày/1 bài)

Số thứ tự Giải thích Kết quả chạy Code Python & giải thích Benchmark timings
Problem 001 Multiples of 3 and 5 233168 Code Python 1.00135803223e-05s
Problem 002 Even-Fibonacci-numbers 4613732 Code Python 1.31130218506e-05s
Problem 003 Largest-prime-factor 6857 Code Python 1.31130218506e-05s
Problem 004 Largest-palindrome-product 906609 Code Python 0.00604486465454s
Problem 005 Smallest-multiple 4613732 Code Python 4.100799560546875e-05s
Problem 006 Sum-square-difference 25164150 Code Python 3.981590270996094e-05s
Problem 007 10001st-prime 104743 Code Python 0.188479185104s
Problem 008 Largest-product-in-a-series 23514624000 Code Python 0.0036547183990478516s
Problem 009 Pythagorean-triplets 4613732 Code Python 0.02037191390991211s
Problem 010 Summation-of-primes 142913828922 Code Python 6.484667062759399s
Problem 011 Largest-product-in-a-grid 70600674 Code Python 0.002034902572631836s
Problem 012 Highly-divisible-triangular-number 76576500 Code Python 3.9072110652923584s
Problem 013 Large-sum 5537376230 Code Python 9.775161743164062e-06s
Problem 014 Longest-Collatz-sequence 837799 Code Python 1.7523188591003418s
Problem 016 Power-digit-sum 1366 Code Python 0.00020003318786621094s
Problem 018 Maximum-path-sum-I 1704 Code Python 8.821487426757812e-05s
Problem 010 Counting-Sundays 171 Code Python 0.0005667209625244141s
Problem 020 Sum-of-Digits-in-100gt 648 Code Python 0.000347137451171875s
Problem 021 Amicable-numbers 852810 Code Python 1.5143499374389648s
Problem 023 Non-abundant-sums 4179871 Code Python 4.60374903678894s
Problem 023 Lexicographic-permutations 2783915460 Code Python 2.47955322265625e-05s

P/S: Code Python run on my MacOS: (for Benchmark timings)

MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)

Processor 2 GHz Intel Core i5

Memory 8 GB 1867 MHz LPDDR3

https://projecteuler.net/profile/vinhnq.png

"Gạch đá" các loại có thể ném vào issue hoặc inbox của tôi :)

About

solve project euler problem by python and math

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages