bicycle_lock, a MATLAB code which simulates the process of determining the combination of a bicycle lock, which is simply an integer between 000 and 999.

This program demonstrates the method of exhaustive search, that is, it searches for an answer by trying every possibility.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


bicycle_lock is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:


change_making, a MATLAB code which considers the change making problem, in which a given sum is to be formed using coins of various denominations.

combination_lock, a MATLAB code which simulates the process of determining the secret combination of a lock with M dials and N possible digits.

combo, a MATLAB code which includes many combinatorial routines.

partition_problem, a MATLAB code which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.

satisfy, a MATLAB code which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.

subset, a MATLAB code which enumerates combinations, partitions, subsets, index sets, and other combinatorial objects.

subset_sum, a MATLAB code which seeks solutions of the subset sum problem.

tsp_brute, a MATLAB code which reads a file of city-to-city distances and solves the traveling salesperson problem, using brute force.


  1. Donald Kreher, Douglas Simpson,
    Combinatorial Algorithms,
    CRC Press, 1998,
    ISBN: 0-8493-3988-X,
    LC: QA164.K73.
  2. Silvano Martello, Paolo Toth,
    Knapsack Problems: Algorithms and Computer Implementations,
    Wiley, 1990,
    ISBN: 0-471-92420-2,
    LC: QA267.7.M37.

Source Code:

Last modified on 01 December 2018.