OUTPUT 2015

The following function is a part of some class. Assume ‘x’ and ‘y’ are positive
integers, greater than 0. Answer the given questions along with dry run / working.

void someFun(int x, int y)
{
	if(x>1)
	{ 
		if(x%y==0)
		{ 
			System.out.print(y+“ ”);
			someFun(x/y, y);
		}
		else
			someFun(x, y+1);
	}
}

(i) What will be returned bysomeFun(24,2)?
(ii) What will be returned bysomeFun(84,2)?
(iii) State in one line what does the function someFun( )do, apart from recursion?

(i) someFun(24, 2)

24>1 true        24%2==0 true          output 2

someFun(24/2, 2)

12>1 true        12%2==0 true          output 2

someFun(12/2, 2)

6>1 true          6%2==0 true            output 2

someFun(6/2, 2)

3>1 true          3%2==0 false          call someFun(3, 3)

someFun(3, 3)

3>1 true          3%3==0 true            output 3

                        someFun(3/3, 3) 1>1 false

OUTPUT: 2 2 2 3

(ii)someFun(84, 2)

84>1 true        84%2==0 true          output 2

someFun(42/2, 2)

42>1 true        42%2==0 true          output 2

someFun(42/2, 2)

21>1 true        21%2==0 false         call someFun(21, 3)

someFun(21, 3)

21>1 true        21%3==0 true          output 3

someFun(7/3, 3)

7>1 true          7%3==0 false           call someFun(7, 4)

someFun(7, 4)

7>1                  true 7%4==0 false    call someFun(7, 5)

someFun(7, 5)

7>1                  true 7%5==0 false    call someFun(7, 6)

someFun(7, 6)

7>1 true          7%6==0 false           call someFun(7, 7)

someFun(7, 7)

7>1 true          7%7==0 true            output 7

SomeFun(7/7, 7) 1>1 false

                                                         OUTPUT: 2 2 3 7

(iii) Generating Prime factors.

(i) someFun(24, 2)
24>1 true 24%2==0 true output 2
someFun(24/2, 2)
12>1 true 12%2==0 true output 2
someFun(12/2, 2)
6>1 true 6%2==0 true output 2
someFun(6/2, 2)
3>1 true 3%2==0 false call someFun(3, 3)
someFun(3, 3)
3>1 true 3%3==0 true output 3
someFun(3/3, 3) 1>1 false
OUTPUT: 2 2 2 3
(ii)someFun(84, 2)
84>1 true 84%2==0 true output 2
someFun(42/2, 2)
42>1 true 42%2==0 true output 2
someFun(42/2, 2)
21>1 true 21%2==0 false call someFun(21, 3)
someFun(21, 3)
21>1 true 21%3==0 true output 3
someFun(7/3, 3)
7>1 true 7%3==0 false call someFun(7, 4)
someFun(7, 4)
7>1 true 7%4==0 false call someFun(7, 5)
someFun(7, 5)
7>1 true 7%5==0 false call someFun(7, 6)
someFun(7, 6)
7>1 true 7%6==0 false call someFun(7, 7)
someFun(7, 7)
7>1 true 7%7==0 true output 7
SomeFun(7/7, 7) 1>1 false
OUTPUT: 2 2 3 7
(iii) Generating Prime factors.

This entry was posted in Output, Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *