From Wikipedia, the free encyclopedia
To comply with Wikipedia's guidelines, the introduction of this article may need to be rewritten. Please discuss this issue on the talk page and read the layout guide to make sure the section will be inclusive of all essential details. (April 2011).
Flow chart of an algorithm (Euclid's algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B. The algorithm proceeds by successive subtractions in two loops: IF the test B ≤ A yields "yes" (or true) (more accurately the number b in location B is less than or equal to the number a in location A) THEN the algorithm specifies B ← B - A (meaning the number b - a replaces the old b). Similarly IF A > B THEN A ← A - B. The process terminates when (the contents of) B is 0, yielding the g.c.d. in A. (Algorithm derived from Scott 2009:13; symbols and drawing style from Tausworthe 1977).
In mathematics and computer science, an algorithm (i /ˈælɡərɪðəm/) is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning.
Starting from an initial state and initial input (perhaps null), the instructions describe a computation that, when executed, will proceed through a finite  number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input."