For example, lets say I want to process 16,000,000 transactions with about 300 threads. I can run the following Java class, and figure out that if I use 320 threads, I need 50,000 loops.
Enter an integer: 16000000 Even divisors for 16000000 8000000 x 2 = 16000000 4000000 x 4 = 16000000 3200000 x 5 = 16000000 2000000 x 8 = 16000000 1600000 x 10 = 16000000 1000000 x 16 = 16000000 800000 x 20 = 16000000 640000 x 25 = 16000000 500000 x 32 = 16000000 400000 x 40 = 16000000 320000 x 50 = 16000000 250000 x 64 = 16000000 200000 x 80 = 16000000 160000 x 100 = 16000000 128000 x 125 = 16000000 125000 x 128 = 16000000 100000 x 160 = 16000000 80000 x 200 = 16000000 64000 x 250 = 16000000 62500 x 256 = 16000000 50000 x 320 = 16000000 40000 x 400 = 16000000 32000 x 500 = 16000000 31250 x 512 = 16000000 25600 x 625 = 16000000 25000 x 640 = 16000000 20000 x 800 = 16000000 16000 x 1000 = 16000000 15625 x 1024 = 16000000 12800 x 1250 = 16000000 12500 x 1280 = 16000000 10000 x 1600 = 16000000 8000 x 2000 = 16000000 6400 x 2500 = 16000000 6250 x 2560 = 16000000 5120 x 3125 = 16000000 5000 x 3200 = 16000000 4000 x 4000 = 16000000 3200 x 5000 = 16000000 3125 x 5120 = 16000000 2560 x 6250 = 16000000 2500 x 6400 = 16000000 2000 x 8000 = 16000000 1600 x 10000 = 16000000 1280 x 12500 = 16000000 1250 x 12800 = 16000000 1024 x 15625 = 16000000 1000 x 16000 = 16000000 800 x 20000 = 16000000 640 x 25000 = 16000000 625 x 25600 = 16000000 512 x 31250 = 16000000 500 x 32000 = 16000000 400 x 40000 = 16000000 320 x 50000 = 16000000 256 x 62500 = 16000000 250 x 64000 = 16000000 200 x 80000 = 16000000 160 x 100000 = 16000000 128 x 125000 = 16000000 125 x 128000 = 16000000 100 x 160000 = 16000000 80 x 200000 = 16000000 64 x 250000 = 16000000 50 x 320000 = 16000000 40 x 400000 = 16000000 32 x 500000 = 16000000 25 x 640000 = 16000000 20 x 800000 = 16000000 16 x 1000000 = 16000000 10 x 1600000 = 16000000 8 x 2000000 = 16000000 5 x 3200000 = 16000000 4 x 4000000 = 16000000 2 x 8000000 = 16000000 1 x 16000000 = 16000000 === End ===
Essentially, this provides all the numbers that evenly divide the provided number. Or, in other words, find multipliers that will result in a desired product.