쉬움 0명 해결 정답률 0%

배수의 합

주어진 인수 중 하나로 나누어떨어지는 값들을 한계값 미만에서 더하세요.

limit 미만의 양의 정수들을 고려하세요. 값이 0이 아닌 인수 중 적어도 하나로 나누어떨어지면 해당 값을 포함합니다. 여러 인수로 나누어떨어지더라도 각 값은 한 번만 포함하여 계산합니다. 0인 인수는 무시합니다. 인수가 [3, 5]인 경우 익숙한 3 또는 5의 배수 문제와 같습니다.

sum_of_multiples(limit, factors)를 구현하세요.

입력

limit: 배타적인 상한값입니다.

factors: 배수를 판별할 인수들의 리스트입니다.

출력

조건을 만족하는 서로 다른 양의 정수들의 합을 반환하세요.

제약 조건

0 ≤ limit ≤ 100,000. 인수는 0개에서 20개까지 주어질 수 있으며, 각 인수는 0 이상 100,000 이하입니다. 중복된 인수가 있을 수 있습니다.

예시

예시 1
입력:
limit = 12
factors = [3, 5]

예상 출력:
expected = 33
입력:
long long limit = 12;
std::vector<long long> factors = {3, 5};

예상 출력:
long long expected = 33;
입력:
long limit = 12;
long[] factors = new long[] {3, 5};

예상 출력:
long expected = 33;

설명

포함되는 값은 3, 5, 6, 9, 10입니다. 이들의 합은 33입니다.

예시 2
입력:
limit = 10
factors = [2, 4]

예상 출력:
expected = 20
입력:
long long limit = 10;
std::vector<long long> factors = {2, 4};

예상 출력:
long long expected = 20;
입력:
long limit = 10;
long[] factors = new long[] {2, 4};

예상 출력:
long expected = 20;

설명

2, 4, 6, 8을 포함합니다. 4와 8은 두 인수 모두에 해당하지만 한 번만 계산됩니다.

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.