QT Project for calculating amicable numbersI'm about to refresh my C++ skills specifically for cross-platform compilation with the QT Framework. To do that I implemented a small project / concept which I sometimes use to tryout new stuff and systems. It calculates amicable numbers for a user specified range and displays them in a table view. The calculation runs on its own thread and does not block the UI, but it updates the UI when a number is found. The program shows a progress bar while calculation (Start / End / Current). The thread can be canceled. Check it out, the source is available on GitHub from my open source repositories and you can download the Mac OS X, Linux, Windows and Android OS binary here from my website.
Wiki definitionAmicable numbers
Amicable numbers are two different numbers so related that the sum of the proper divisors of each is equal to the other number. (A proper divisor of a number is a positive factor of that number other than the number itself. For example, the proper divisors of 6 are 1, 2, and 3.) A pair of amicable numbers constitutes an aliquot sequence of period 2. A related concept is that of a perfect number, which is a number that equals the sum of its own proper divisors, in other words a number which forms an aliquot sequence of period 1. Numbers that are members of an aliquot sequence with period greater than 2 are known as sociable numbers.
The smallest pair of amicable numbers is (220, 284). They are amicable because the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110, of which the sum is 284; and the proper divisors of 284 are 1, 2, 4, 71 and 142, of which the sum is 220.
The first ten amicable pairs are: (220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368), (10744, 10856), (12285, 14595), (17296, 18416), (63020, 76084), and (66928, 66992).
Mac OS X
Open source online repository
The Amicable Numbers app is available for the following platforms, check it out!
- Mac OS X:
AmicableNumbers.app.zip (141 KB)
- Linux (Ubuntu):
AmicableNumbers.tar.gz (551 KB)
- Microsoft Windows:
AmicableNumbers.exe.zip (EXE without QT runtime, 620 KB)
AmicableNumbers.exe.RT.zip (EXE with QT runtime, 129.6 MB)
- Android OS:
AmicableNumbers.android-build-release-signed.apk (7.5 MB)