wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

14 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.