Change History for the Kaprekar Series Generator.

30th December, 2004 (Version 3.0)

This is a codefix release.

  1. Parameterized the Kaprekar classes per Java 1.5 Generics.
  2. Using the Eqn implementation of Kaprekar in the GUI to improve the performance for numbers less than 19 digits.
  3. Added the heartbeat to the Eqn implementation for proper display of the progress bar for numbers with less than 19 digits.
  4. Added the option to pause and resume the kaprekar generation task.
  5. Demonstrate now checks for the validity of the number entered.
  6. Added a version string to Kaprekar.
  7. Added state information to Kaprekar.

New Classes added

com.conradroche.kaprekar.gui
    GenerateTask.java
    KSwingListener.java

27th October, 2004 (Version 2.2b)

This is a codefix release.

  1. Used interfaces instead of implementation in case of the Collection classes.
  2. Modified the equals and hashCode methods of Series.
  3. Added a toString method for Series.
  4. Removed Short & short variables and used Integer/int instead.
  5. Separated out the serialization code into KSerializer.
  6. Separated out the statistics related code into KStats.
  7. Separated out the SVG related code into KSvgSerializer.
  8. Separated out the storage of the series from Kaprekar to KStore.
  9. Updated Javdocs.
  10. Showing progress indicator for BigInts too.

16th June, 2004 (Version 2.1b)

  1. Removed the dependence on the Ganita package.
  2. Changed the Demonstrate process to use BigInteger instead of the Huge class. Now you can demonstrate the Kaprekar Routine for any number of digits. I tested it for upto 18500 digits.
  3. The demonstrate process now prints the series found too.
  4. Changed KaprekarFactory to be a singleton.
  5. Removed the KaprekarHuge class.
  6. Made changes to improve the performace of the algorithm to find Kaprekar Series.

2nd June, 2004 (Version 2.0b)

  1. Provided a gui interface for generating the kaprekar series and for displaying the demonstration.
  2. Used BigInteger to generate the series for large integer.
  3. Added a progress bar to the Gui interface.
  4. Added classes to generate the series for hexadecimal numbers.
  5. Added batch files for convenience.
  6. Made all the Kaprekar implementation package-private.
  7. Created a KaprekarFactory to get the appropriate Kaprekar implementation.
  8. Fixed a bug in KDemonstate that prevented it from displaying the steps for 2-digit numbers.
  9. Changed the sort algorithm.

New Classes added

com.conradroche.kaprekar
    KaprBigInt.java
    KaprHex.java
    KaprekarFactory.java

com.conradroche.kaprekar.gui
    KaprSwing.java
    KaprGui.java

New Interfaces added

com.conradroche.kaprekar.gui
   KaprGui.java

3rd May, 2001 (Version 1.0b)

  1. Released the initial version 1.0 of The Kaprekar Series Generator.

New Classes added

Series.java (com.conradroche.kaprekar.Series)
   Class to store one Kaprekar number or series.

Kaprekar.java (com.conradroche.kaprekar.Kaprekar)
    Base class for storing the Kaprekar series.

KaprBF.java (com.conradroche.kaprekar.KaprBF)
    Program to find the Kaprekar Series for a specified range of digits using a brute force method.

KaprChked.java (com.conradroche.kaprekar.KaprChked)
    Program to find the Kaprekar Series for a specified range of digits by keeping track of all the numbers that have been checked.

KaprMultpl.java (com.conradroche.kaprekar.KaprMultpl)
    Program to find the Kaprekar Series for a specified range of digits. This program takes advantage of the fact that all Kaprekar numbers are multiple of 9 and that all odd-digit Kaprekar numbers are multiples of 99.

KaprEqn.java (com.conradroche.kaprekar.KaprEqn)
    Program to find the Kaprekar Series for a specified range of digits using the equation for the difference between two numbers created by sorting the same set of digits in ascending and descending order.

KaprHuge.java (com.conradroche.kaprekar.KaprHuge)
    Program to find the Kaprekar Series for a specified range of digits - where the number of digits could range from 2 to 2,147,483,647. This program can be refined to handle upto 38,654,705,646 digits.

KDemonstrate.java (com.conradroche.kaprekar.KDemonstrate)
    Class to pass the number through the Kaprekar iterations.