# playground my ($start, $end) = (10, 100); # try: (35, 7400) for my $step (1..20) { printf 'step %2d:', $step; my $i = $start; for (1..$step+1) { printf ' %.f', $i; $i *= ($end/$start)**(1/$step); } print "\n"; } __END__ step 1: 10 100 step 2: 10 32 100 step 3: 10 22 46 100 step 4: 10 18 32 56 100 step 5: 10 16 25 40 63 100 step 6: 10 15 22 32 46 68 100 step 7: 10 14 19 27 37 52 72 100 step 8: 10 13 18 24 32 42 56 75 100 step 9: 10 13 17 22 28 36 46 60 77 100 step 10: 10 13 16 20 25 32 40 50 63 79 100 step 11: 10 12 15 19 23 28 35 43 53 66 81 100 step 12: 10 12 15 18 22 26 32 38 46 56 68 83 100 step 13: 10 12 14 17 20 24 29 35 41 49 59 70 84 100 step 14: 10 12 14 16 19 23 27 32 37 44 52 61 72 85 100 step 15: 10 12 14 16 18 22 25 29 34 40 46 54 63 74 86 100 step 16: 10 12 13 15 18 21 24 27 32 37 42 49 56 65 75 87 100 step 17: 10 11 13 15 17 20 23 26 30 34 39 44 51 58 67 76 87 100 step 18: 10 11 13 15 17 19 22 24 28 32 36 41 46 53 60 68 77 88 100 step 19: 10 11 13 14 16 18 21 23 26 30 34 38 43 48 55 62 70 78 89 100 step 20: 10 11 13 14 16 18 20 22 25 28 32 35 40 45 50 56 63 71 79 89 100