fork download
  1. #include <iostream>
  2.  
  3. int sumOfMultipleOfX(int minRange, int maxRange, int mul)
  4. {
  5. minRange = ((minRange + mul - 1) / mul) * mul;
  6. maxRange = (maxRange / mul) * mul;
  7.  
  8. if (maxRange < minRange) {
  9. return 0;
  10. }
  11. return (maxRange + minRange) * (maxRange - minRange + mul) / (2 * mul);
  12. }
  13.  
  14. int sumOfMultipleOf3Or5(int minRange, int maxRange)
  15. {
  16. return sumOfMultipleOfX(minRange, maxRange, 3)
  17. + sumOfMultipleOfX(minRange, maxRange, 5)
  18. - sumOfMultipleOfX(minRange, maxRange, 15);
  19. }
  20.  
  21.  
  22. int main (){
  23. std::cout << sumOfMultipleOf3Or5(0, 15) << std::endl; // 3 + 6 + 9 + 12 + 5 + 10 + 15
  24. std::cout << sumOfMultipleOf3Or5(0, 1000) << std::endl;
  25. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
60
234168