NEW
Font size
S
M
L
XL
Worksheets14 dec 2023 SRMIST TRC MCA AN
Total questions: 15
Worksheet time: 15mins
Name
Class
Date
1.
int triangularNumber(int n) {
if (n == 0)
return 0;
else
return n + triangularNumber(n - 1);
}
int main() {
printf("Triangular Number: %d\n", triangularNumber(3));
return 0;
}
a)
3
b)
6
c)
9
d)
12
2.
int countDown(int n) {
if (n <= 0)
return 0;
else {
return 1 + countDown(n - 1);
}
}
int main() {
printf("Count Down: %d\n", countDown(4));
return 0;
}
a)
3
b)
2
c)
4
d)
6
3.
int digitSum(int n) {
if (n == 0)
return 0;
else
return n % 10 + digitSum(n / 10);
}
int main() {
printf("Digit Sum: %d\n", digitSum(567));
return 0;
}
a)
9
b)
18
c)
15
d)
27
4.
int consecutiveSquaresSum(int n) {
if (n == 0)
return 0;
else
return n * n + consecutiveSquaresSum(n - 1);
}
int main() {
printf("Consecutive Squares Sum: %d\n", consecutiveSquaresSum(3));
return 0;
}
a)
8
b)
10
c)
12
d)
14
5.
int decimalToBinary(int n) {
if (n == 0)
return 0;
else
return n % 2 + 10 * decimalToBinary(n / 2);
}
int main() {
printf("Binary Representation: %d\n", decimalToBinary(5));
return 0;
}
a)
100
b)
101
c)
110
d)
111
6.
int palindromeCheck(int n) {
if (n <= 0)
return 1;
else
return n % 10 == (n / 10) % 10 && palindromeCheck(n / 100);
}
int main() {
printf("Palindrome Check: %d\n", palindromeCheck(1221));
return 0;
}
a)
0
b)
1
c)
10
d)
11
7.
int sumOfEvenDigits(int n) {
if (n == 0)
return 0;
else
return (n % 10 % 2 == 0 ? n % 10 : 0) + sumOfEvenDigits(n / 10);
}
int main() {
printf("Sum of Even Digits: %d\n", sumOfEvenDigits(123456));
return 0;
}
a)
10
b)
15
c)
12
d)
11
8.
#include <stdio.h>
int powerSum(int base, int exponent) {
if (exponent == 0)
return 1;
else
return base * powerSum(base, exponent - 1);
}
int main() {
printf("Power Sum: %d\n", powerSum(2, 3));
return 0;
}
a)
6
b)
8
c)
12
d)
16
9.
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
printf("Fibonacci: %d\n", fibonacci(5));
return 0;
}
a)
5
b)
10
c)
9
d)
7
10.
#include <stdio.h>
int countDigits(int n) {
if (n == 0)
return 0;
else
return 1 + countDigits(n / 10);
}
int main() {
printf("Count of Digits: %d\n", countDigits(12345));
return 0;
}
a)
1
b)
2
c)
3
d)
5
11.
#include <stdio.h>
void printReverse(char str[]) {
if (str[0] == '\0')
return;
else {
printReverse(&str[1]);
printf("%c", str[0]);
}
}
int main() {
char myString[] = "Recursion";
printf("Reverse String: ");
printReverse(myString);
printf("\n");
return 0;
}
a)
noisuceR
b)
Recursion
c)
Reverse
d)
r
12.
#include <stdio.h>
int sumSquares(int n) {
if (n == 1)
return 1;
else
return n * n + sumSquares(n - 1);
}
int main() {
printf("Sum of Squares: %d\n", sumSquares(4));
return 0;
}
a)
10
b)
20
c)
40
d)
30
13.
#include <stdio.h>
int findMax(int arr[], int n) {
if (n == 1)
return arr[0];
else {
int maxRest = findMax(arr, n - 1);
return (arr[n - 1] > maxRest) ? arr[n - 1] : maxRest;
}
}
int main() {
int array[] = {4, 8, 2, 10, 5};
printf("Maximum Element: %d\n", findMax(array, 5));
return 0;
}
a)
4
b)
8
c)
10
d)
5
14.
What is tail recursion?
a)
A recursion with a base case
b)
A recursion with only one base case
c)
A recursion where the recursive call is the last thing executed
d)
A recursion without any base case
15.
What is a key characteristic of recursion in programming?
a)
It only involves loops and iteration.
b)
It always leads to an infinite loop.
c)
A problem is solved by breaking it down into smaller instances of the same problem.
d)
Recursion is a substitute for conditional statements.
Reset
