Necessary features of an algorithm:
1.Input: The algorithm should take zero or more input.
2. Output: The algorithm should generate one or more outputs.
3. Definiteness: Each and every step of algorithm should be described unambiguously.
4. Effectiveness: A human should be able to measure the values involved in the procedure of the algorithm using paper and pencil.