человек вводит min и max
узнаем def = max - min
перебираем кубики начало цикла
для N гранного кубика
minN = 1 maxN = N
defN = maxN - minN
если defN меньше def то defN = defN + maxN - minN
повторять до тех пор пока defN не станет больше или равное def
если defN больше def переходим к другому кубику
если defN равно def то
a = def - defN
b = defN / (maxN - minN)
выводим пользователю b * D N + a
конец цикла
надеюсь вы разберетесь