Perfect Numbers in Delphi Pascal
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60  120 CE) classification scheme for natural numbers.
1  exercism fetch delphi perfectnumbers

Perfect Numbers
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60  120 CE) classification scheme for natural numbers.
The Greek mathematician Nicomachus devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of perfect, abundant, or deficient based on their aliquot sum. The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9

Perfect: aliquot sum = number
 6 is a perfect number because (1 + 2 + 3) = 6
 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28

Abundant: aliquot sum > number
 12 is an abundant number because (1 + 2 + 3 + 4 + 6) = 16
 24 is an abundant number because (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36

Deficient: aliquot sum < number
 8 is a deficient number because (1 + 2 + 4) = 7
 Prime numbers are deficient
Implement a way to determine whether a given number is perfect. Depending on your language track, you may also need to implement a way to determine whether a given number is abundant or deficient.
Testing
In order to run the tests for this track, you will need to install DUnitX. Please see the installation instructions for more information.
Loading Exercises into Delphi
If Delphi is properly installed, and *.dpr
file types have been associated with Delphi, then double clicking the supplied *.dpr
file will start Delphi and load the exercise/project. control + F9
is the keyboard shortcut to compile the project or pressing F9
will compile and run the project.
Alternatively you may opt to start Delphi and load your project via. the File
drop down menu.
When Questions Come Up
We monitor the PascalDelphi support room on gitter.im to help you with any questions that might arise.
Submitting Exercises
Note that, when trying to submit an exercise, make sure the exercise file you're submitting is in the exercism/delphi/<exerciseName>
directory.
For example, if you're submitting ubob.pas
for the Bob exercise, the submit command would be something like exercism submit <path_to_exercism_dir>/delphi/bob/ubob.pas
.
Source
Taken from Chapter 2 of Functional Thinking by Neal Ford. http://shop.oreilly.com/product/0636920029687.do
Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.