Problema
Mostra originale (inglese)Considera i numeri interi positivi strettamente inferiori a limit. Includi un valore se è divisibile per almeno un fattore non nullo. Conta ogni valore incluso una sola volta, anche se è divisibile per più fattori. Ignora i fattori pari a zero. I fattori [3, 5] corrispondono al classico esercizio dei multipli di 3 o 5.
Implementa sum_of_multiples(limit, factors).
Input
limit: Il limite superiore esclusivo.
factors: I fattori di cui considerare i multipli.
Output
Restituisci la somma degli interi positivi distinti che soddisfano i criteri.
Vincoli
0 ≤ limit ≤ 100.000. Possono esserci da 0 a 20 fattori, ciascuno compreso tra 0 e 100.000. Sono ammessi fattori duplicati.
Esempi
Input:
limit = 12
factors = [3, 5]
Output atteso:
expected = 33
Input:
long long limit = 12;
std::vector<long long> factors = {3, 5};
Output atteso:
long long expected = 33;
Input:
long limit = 12;
long[] factors = new long[] {3, 5};
Output atteso:
long expected = 33;
Spiegazione
I valori inclusi sono 3, 5, 6, 9 e 10. La loro somma è 33.
Input:
limit = 10
factors = [2, 4]
Output atteso:
expected = 20
Input:
long long limit = 10;
std::vector<long long> factors = {2, 4};
Output atteso:
long long expected = 20;
Input:
long limit = 10;
long[] factors = new long[] {2, 4};
Output atteso:
long expected = 20;
Spiegazione
Includi 2, 4, 6 e 8. I valori 4 e 8 vengono contati una sola volta anche se sono divisibili per entrambi i fattori.
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.