1) Why I solve problems on projecteuler
2) Why I choose python?
Built- in support: BigInt Decimal Set Permutations and Combinations Compact coding: one line to solve some problems in python, for most of problems below 100, less than 50 lines are enough to solve
3) What I have done?:
I prepared some utility class to accelerate computation
factorization.py #lcm gcd
projecteulerhelper.py # generate list for circular number, pandigital, etc
projectEuler_template.py # template for test-driven programming modeltimeit.py
4) Procedure: as shown in projectEuler_template.py
Firstly, try bruteforce, which is logically evidently and intuitive; Then, test it by the example data given by problem description. After that, try to solve the problem, if it does not give you an answer in 3 minutes. Try some smarter approaches.
5) The source codes are provided for problems I solved:
but it is recommended that you try your thought and code first.
If your code does not work, have a look of my code or search the intermet. In my case, I will never search codes to solve problems before I try my best.
source codes download link: Licensed under BSD license
This post and source code will be updated time by time
CC-BY-NC 4.0 licensed free for non-commercial usage
Author: Qingfeng XIA
copyright (C) 2011-2020
please keep the original link in your reference.