Étant donné un entier positif vous pouvez toujours trouver un tuple d'entiers tels que k_1 \ cdot k_2 \ cdot ... \ cdot k_m = n et k_1 | k_2 \ text {,} k_2 | k_3 \ text {,} \ ldots \ text {,} k_ {m-1} | k_m.
Ici, a | b signifie que b est un multiple de a , disons "a divise b". Si n> 1, toutes les entrées k_i doivent être au moins égales à 2 . Pour n = 1, nous n'avons pas un tel facteur et nous obtenons donc un tuple vide.
Si vous êtes curieux de savoir d'où cela vient: cette décomposition est connue sous le nom de décomposition de facteurs invariants dans la théorie des nombres et elle est utilisée dans la classification des groupes abéliens générés de manière finie.
Défi
Étant donné sortie tous ces tuples pour la donnée exactement une fois, dans l' ordre que vous aimez. Les formats de sortie de séquence standard sont autorisés.
Exemples
1: () (empty tuple)
2: (2)
3: (3)
4: (2,2), (4)
5: (5)
6: (6)
7: (7)
8: (2,2,2), (2,4), (8)
9: (3,3), (9)
10: (10)
11: (11)
12: (2,6), (12)
108: (2,54), (3,3,12), (3,6,6), (3,36), (6,18), (108)
Connexes: http://oeis.org/A000688 , Liste de toutes les partitions multiplicatives de n
12,3,3
)