标签:
能被3或者5整除的数是哪些?
被3整除的数:3,6,9....[n/3]*3
被5整除的数:5,10,15...[n/5]*5
重复的数(同时被3和5整除的数,即被15整除):15,30...[n/15]*15
于是问题的答案就很明显:
被3或者5整除的数的和=被3整除的数之和+被5整除的数之和-被15整除的数之和
因为求和的数列都是等差数列,运用等差数列求和公式即可轻松解决。
#include <iostream> using namespace std; int SumOfArithmeticSeries(int x,int c,int d){ return (x+x+(c-1)*d)*c/2; } int main() { int sum_3=0,sum_5=0,sum_15=0; int n=9; int sum=0; sum_3=SumOfArithmeticSeries(3,n/3,3); sum_5=SumOfArithmeticSeries(5,n/5,5); sum_15=SumOfArithmeticSeries(15,n/15,15); sum=sum_3+sum_5-sum_15; cout<<sum<<endl; return 0; }
标签:
原文地址:http://www.cnblogs.com/AndyJee/p/4582523.html