|  | 
 
 发表于 2024-7-27 23:49:25
From FishC Mobile
|
显示全部楼层 
| #include <stdio.h> int getCombinedMultiplesSum(int num) {
 if (num < 2) {  // 参数检验
 return -1;
 }
 
 // 题目中是1000以下的自然数,即不包含1000
 num--;
 int a = 3, b = 5, c = a * b;
 int totalA = getTotal(num, a);
 int totalB = getTotal(num, b);
 int totalC = getTotal(num, c);
 int total = totalA + totalB - totalC;
 return total;
 }
 
 int getTotal(int num, int mul) {
 int count = num / mul;
 int sum = count * (count + 1) * mul / 2;
 return sum;
 }
 
 int main() {
 int num = 1000;
 int result = getCombinedMultiplesSum(num);
 printf("Total: %d\n", result);
 return 0;
 }
 
 结果是233168
 | 
 |