Hola,
Lo que pides es fácil de hacer, pero al menos yo no te voy a responder. Por que por lo que dices parece que es algo académico y tienes que sacarlo tu solito o con tus compañeros. Sino de que te va a servir hacer lo que haces???
Una pistilla:
Lo que pides hacer son Variaciones sin repetición dado que el orden de los elementos del conjunto si que importa (123 es diferente de 321) y no se pueden repetir (122 no es un número válido por uqe se repite el 2). Por lo tanto el número de posibles combinaciones se saca del primer ejemplo de este
link.
Por lo tanto, si te pasan una n = 5, todas las posibles variacones que tendría serían: V5 = 5*4*3*2*1 = 120.
Dado que tu conjunto de números siempre equivale a los n primeros números enteros, tus candidatos siempre son 1:n (de 1 hasta n). Y el número total de variaciones posibles coincide con "n!" (n factorial). Pero eso solo paso si y solo si el número de candidatos van de 1:n.
Creo que es eso lo que necesitas (si no lo sabías ya) y para hacer eso no hay que ser ningún gurú de la programación. Usa un poco la cabeza y ya verás como lo sacas.
Saludos y ánimo!