Advertisements
Advertisements
Question
The following function is a part of some class:
int jolly(int[] x, int n, int m)
{
if (n<0)
return m;
else if(n<x.length)
m=(x[n]>m)?x[n]:m;
return jolly(x, --n, m);
}
- What will be the output of jolly() when the value of x[ ]={6,3,4,7,1}, n=4 and m=0?
- What function does jolly() perform, apart from recursion?
Solution
a. 7
Working:
jolly({6,3,4,7,1}, 4, 0)
//X.length = 5, n=4, m=0
m=1
jolly({6,3,4,7,1}, 3, 0)
m=7
jolly({6,3,4,7,1}, 2, 0)
m=7
jolly({6,3,4,7,1}, 1, 0)
m=7
jolly({6,3,4,7,1}, 0, 0)
m=7
b. Returning the largest no. of the array X[]
APPEARS IN
RELATED QUESTIONS
A class Fibo has been defined to generate the Fibonacci series 0, 1, 1, 2, 3, 5, 8, 13, ……. (Fibonacci series are those in which the sum of the previous two terms is equal to the next term).
Some of the members of the class are given below:
Class name | Fibo |
Data member/instance variable: | |
start | integer to store the start value |
end | integer to store the end value |
Member functions/methods: | |
Fibo( ) | default constructor |
void read( ) | to accept the numbers |
int fibo(int n) | return the nth term of a Fibonacci series using recursive technique |
void display( ) | displays the Fibonacci series from start to end by invoking the function fibo() |
Specify the class Fibo, giving details of the Constructor, void read( ), int fibo(int), and void display( ). Define the main() function to create an object and call the functions accordingly to enable the task.
A class Gcd has been defined to find the Greatest Common Divisor of two integer numbers. Some of the members of the class are given below:
Class name | Gcd |
Data member/instance variable: | |
num1 | integer to store the first number |
num2 | integer to store the second number |
Member functions/methods: | |
Gcd( ) | default constructor |
void accept( ) | to accept the numbers |
int gcd(int x,int y) | return the GCD of the two numbers x and y using recursive technique |
void display( ) | displays the result with an appropriate message |
Specify the class Gcd, giving details of the Constructor, void accept( ), int gcd(int,int), and void display( ). Define the main() function to create an object and call the functions accordingly to enable the task.
Assertion: Recursive data structure follows the LIFO principle.
Reason: Execution of recursive code follows the concepts of data structure Queue.
Design a class DeciHex to accept a positive integer in decimal number system from the user and display its hexadecimal equivalent.
Example 1:
Decimal number= 25
Hexadecimal equivalent= 19
Example 2:
Decimal number =28
Hexadecimal equivalent = 1C
Some of the members of the class are given below.
Class name | DeciHex |
Data members/instance variables: | |
num | stores the positive integer |
hexa | string to store the hexadecimal equivalent of num |
Methods / Member functions: | |
DeciHex() | constructor to initialise the data members with legal initial values |
void getNum() | to accept a positive integer |
void convert(int n) | to find the hexadecimal equivalent of the formal parameter 'n' using the recursive technique |
void display() | to display the decimal number and its hexadecimal equivalent by invoking the function convert() |
Specify the class DeciHex giving details of the constructor( ), void getNum( ), void convert(int) and void display(). Define a main() function to create an object and call all the functions accordingly to enable the task.
The following is a function of class Armstrong. This recursive function calculates and returns the sum of the cubes of all the digits of num, where num is an integer data member of the class Armstrong.
[A number is said to be Armstrong if the sum of the cubes of all its digits is equal to the original number].
There are some places in the code marked by ?1?, ?2?,?3? which may be replaced by a statement/expression so, that the function works properly.
public int sumOfPowers(int num)
{
if(num == 0)
return ?1?
int digit = ?2?;
return(int)Math.pow(digit, 3) + ?3?;
}
- What is the expression or statement at ?1?
- What is the expression or statement at ?2?
- What is the expression or statement at ?3?
A class LCM has been defined to find the Lowest Common Multiple of two integers.
Some of the data members and member functions are given below:
Class name | LCM |
Data members/instance variables: |
|
n1 | to store an integer number |
n2 | to store an integer number |
large | integer to store the largest from n1,n2 |
sm | integer to store the smallest from n1,n2 |
l | to store lcm of two numbers |
Methods / Member functions: | |
LCM( ) | default constructor to initialize data members with legal initial values |
void accept() | to accept n1 and n2 |
int getLCM() | returns the lcm of n1 and n2 using the recursive technique |
void display( ) | to print the numbers n1, n2 and lcm |
Specify the class LCM giving details of the constructor( ), void accept( ), int getLCM() and void display( ). Define a main ( ) function to create an object and call the member functions accordingly to enable the task.