Tous les défis
Facile 0 résolus 0 % de réussite

Somme des multiples

Additionnez les valeurs inférieures à une limite qui sont divisibles par au moins un facteur donné.

Considérez les entiers positifs strictement inférieurs à la limite. Incluez une valeur si elle est divisible par au moins un facteur non nul. Comptez chaque valeur incluse une seule fois, même si plusieurs facteurs la divisent. Ignorez les facteurs nuls. Les facteurs [3, 5] correspondent au classique exercice des multiples de 3 ou 5.

Implémentez sum_of_multiples(limit, factors).

Entrée

limit : La borne supérieure exclusive.

factors : Les facteurs dont les multiples sont éligibles.

Sortie

Retournez la somme des entiers positifs distincts éligibles.

Contraintes

0 ≤ limit ≤ 100 000. Il peut y avoir de 0 à 20 facteurs, chacun compris entre 0 et 100 000. Les facteurs dupliqués sont autorisés.

Exemples

Exemple 1
Entrée :
limit = 12
factors = [3, 5]

Sortie attendue :
expected = 33
Entrée :
long long limit = 12;
std::vector<long long> factors = {3, 5};

Sortie attendue :
long long expected = 33;
Entrée :
long limit = 12;
long[] factors = new long[] {3, 5};

Sortie attendue :
long expected = 33;

Explication

Les valeurs incluses sont 3, 5, 6, 9 et 10. Leur somme est 33.

Exemple 2
Entrée :
limit = 10
factors = [2, 4]

Sortie attendue :
expected = 20
Entrée :
long long limit = 10;
std::vector<long long> factors = {2, 4};

Sortie attendue :
long long expected = 20;
Entrée :
long limit = 10;
long[] factors = new long[] {2, 4};

Sortie attendue :
long expected = 20;

Explication

Inclure 2, 4, 6 et 8. Les valeurs 4 et 8 ne sont comptées qu'une seule fois même si elles correspondent aux deux facteurs.

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.