Рассмотрим, найти сумму всех кратных 3 до 20?
Ans: =>
3, 6, 9, 12, 15, это кратно 3 до 20
Сумма всех кратных от 3 до 20 равна => [3 + 6 +9 + 12 + 15]
(3 + 6 +9 + 12 + 15), которые вы можете переписать вследующим образом
3 (1+ 2 + 3 + 4 + 5) => 3 (15) => 45
сумма последовательности может быть рассчитана по следующей формуле
K (K + 1) / 2 => здесь K равно 5 => 5 (5 + 1) / 2 => 15
В общем, мы можем сказать, что кратно любому числу (N) в данном диапазонеR
K = R / N;
N * (K (K + 1)) / 2
В нашем случае R = 20 и N = 3
int sumDivisibeBy(int R, int N)
{
int K = R / N;
int SEQSUM = ((K*(K + 1)) / 2));
return (N*SEQSUM)
}
В вашем случае вам необходимо трижды вызвать эту функцию =>
sumDivisibeBy (1000,3) + sumDivisibeBy (1000,5) -sumDivisibeBy (1000,15)