|
发表于 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 |
|