Thursday, April 13, 2017

Multiples of 3 and 5 without using % operator

Write a short program that prints each number from 1 to n on a new line.

For each multiple of 3, print “Multiple of 3” instead of the number.

For each multiple of 5, print “Multiple of 5” instead of the number.

For numbers which are multiples of both 3 and 5, print “Multiple of 3. Multiple of 5.” instead of the number.


Examples:

Input  : 15 

Output : 1
         2
         Multiple of 3.
         4
         Multiple of 5.
         Multiple of 3.
         7
         8
         Multiple of 3.
         Multiple of 5.
         11
         Multiple of 3.
         13
         14
         Multiple of 3. Multiple of 5.
 
 
Solution:


The solution is simple. we just have to iterate from 1 to n and have to track the multiples of 3 and 5 by adding 3 and 5 to the current multiple.If the current number you get matches with a multiple then we update our result accordingly.  

Sample Code:

/**
 * @author Abhinaw.Tripathi
 *
 */
public class MultipleOfThreeAndFive 
{

public static void findMultiple(int n)
{
int a = 3;  
        int b = 5;  
        for (int i=1; i<=n; i++)
        {
            String s = "";
 
           
            if (i==a)
            {
                a = a + 3;  
                s = s + "Multiple of 3. ";
            }
 
           
            if (i==b)
            {
                b = b+5;  
                s = s + "Multiple of 5.";
            }
 
            if (s == "")
                System.out.println(i);
            else  System.out.println(s);
        }
}
public static void main(String[] args)
    {

        findMultiple(20);
}

}


Output:

1
2
Multiple of 3. 
4
Multiple of 5.
Multiple of 3. 
7
8
Multiple of 3. 
Multiple of 5.
11
Multiple of 3. 
13
14
Multiple of 3. Multiple of 5.
16
17
Multiple of 3. 
19
Multiple of 5.






No comments: