Euler Problem 1 : Code Optimization / Alternatives [on hold]
- by Sudhakar
I am new bee into the world of Datastructures and algorithms from ground up.
 This is my attempt to learn.
If the question is very plain/simple . Please bear with me.
Problem:
  Find the sum of all the multiples of 3 or 5 below 1000.
Code i worte:
package problem1;
public class Problem1 {
    public static void main(String[] args) {
        //******************Approach 1****************
        long start = System.currentTimeMillis();
        int total = 0;
        int toSubtract = 0;
        //Complexity N/3
        int limit = 10000;      
        for(int i=3 ; i<limit ;i=i+3){
            total = total +i;
        }
        //Complexity N/5
        for(int i=5 ; i<limit ;i=i+5){
            total = total +i;
        }       
        //Complexity N/15
        for(int i=15 ; i<limit ;i=i+15){
            toSubtract = toSubtract +i;
        }           
        //9N/15   = 0.6 N
        System.out.println(total-toSubtract);
        System.out.println("Completed in "+(System.currentTimeMillis() - start));
        //******************Approach 2****************
        for(int i=3 ; i<limit ;i=i+3){
            total = total +i;
        }
        for(int i=5 ; i<limit ;i=i+5){          
            if ( 0 != (i%3)) total = total +i;
        }
    }
}
Question
1 -   Which best approach from the above code and why ?
2 -  Are there any better alternatives ?