If you have a prize pool (say 1,000 points), and a leaderboard like:

Rank / Name
1 / Dan
2 / Rachel
3 / Max
4 / Chloe
5 / Grant
etc.

Is there an algorithm where you can input prize pool, rank, and maybe the number of people, and it will give you the number of points (or a %) for each rank. The person ranked #1 would get like 25% of the prize pool, and each person below would get less and less until the full prize pool is paid out.

what does the number that formula outputs represent?

unless you have some sort of criteria in your head on how to distribute the pool amongst the rankings, you can use any formula you like to do the distribution.

in that case only the value of r will vary in your formula.

so all you need to do is set up a FOR loop going from 1 to the number of rankings and then use the current value of your for loop counter as the value of r to calculate the pool distribution for that ranking. all the other parameters in your formula are constants.