ProjectEuler第一题

Add all the natural numbers below one thousand that are multiples of 3 or 5.
求所有小于1000且能被3或5整除的自然数的和。
public class Task_1 {

	/**
	 * 求所有小于1000且能被3或5整除的自然数的和。
	 * @param args
	 */
	public static void main(String[] args) {

		System.out.println(sum1());
		System.out.println(sum2());
	}
	public static int sum1(){
		int n = 1000;
		int sum = 0;
		for(int i = 0;i < n;i++){
			if((i%3==0) || (i%5==0)){
				sum += i;
			}
		}
		return sum;
	}
	
	public static int sum2(){
		int n = 999;
		int s3,s5,s15;
		s3 = 3*((1+(n/3))*(n/3))/2;
		s5 = 5*((1+(n/5))*(n/5))/2;
		s15 = 15*((1+(n/15))*(n/15))/2;
		return s3+s5-s15;
	}

}

你可能感兴趣的:(project)