题目:
If we list all the natural numbers below that are multiples of or , we get and . The sum of these multiples is .
Find the sum of all the multiples of or below .
大意:找出N以下的所有3,5的倍数,并求和。
思路:挨个列举肯定超时,所以利用公式,最后减去3和5的公倍数
int main(){
int t;
cin >> t;//测试t个数
for(int a0 = 0; a0 < t; a0++){
int n;
cin >> n;
if(n<3){
cout <<0<<endl;
continue;
}
long sum =0;
long n3 = (n-1)/3;
long n5 = (n-1)/5;
long n15 = (n-1)/15;
sum = 3 * (1+n3)*n3/2 + 5 * (1+n5)*n5/2 - 15 * (1+n15)*n15/2;
cout<<sum<<endl;
}
return 0;
}