Je veux résoudre un problème mathématique le plus rapidement possible. J'ai un ensemble de nombres naturels entre 1 et n, par exemple {1,2,3,4, n = 5} et je veux calculer une formule comme ceci:Somme des combinaisons de nombres
s = 1 * 2 * 3 * 4 + 1 * 2 * 3 * 5 + 1 * 2 * 4 * 5 + 1 * 3 * 4 * 5 + 2 * 3 * 4 * 5
comme vous pouvez le voir, chaque élément de la somme est une multiplication de n-1 nombres dans l'ensemble. Par exemple dans (1 * 2 * 3 * 4), 5 est exclu et dans (1 * 2 * 3 * 5), 4 est exclu. Je sais que certaines des multiplications sont répétées, par exemple (1 * 2) est répété dans 3 des multiplications. Comment puis-je résoudre ce problème avec le moins de multiplications possibles.
Désolé pour un mauvais anglais. Merci.
Comment est-ce un problème de programmation? Qu'avez-vous essayé? Et les divisions doivent-elles être considérées comme une multiplication ou d'une autre manière? (Je peux penser à plusieurs méthodes qui utilisent une ou plusieurs divisions ou réciproques.) Et qu'en est-il des ajouts? Chaque multiplication pourrait être remplacée par des ajouts multiples de sorte qu'aucune multiplication ne soit utilisée. –
Je ne veux pas utiliser la division. Seulement des multiplications et des sommes. C'est une partie d'un problème plus important que je veux résoudre. J'ai essayé de structurer des nombres dans un arbre mais je n'ai pas pu trouver une bonne structure qui puisse être capable d'utiliser des multiplications répétées. – Bazinevis
Vous n'avez pas répondu à propos du remplacement de toutes les multiplications par des ajouts. Aussi, votre objectif est-il de minimiser le temps (comme vous le dites dans votre première phrase) ou les multiplications (comme vous le dites dans votre dernière phrase) ou quelque chose d'autre? –