hello everyone
So today in our DSU coding session, Rahul suddenly decided he’s the “Recursion King.” Why? Because sir gave us a simple task: Multiply two numbers using recursion. No * operator. No shortcuts. Just “logic,” according to sir and apparently according to Rahul also.
What Was Even Happening?
Aarav looked at the question like it was written in alien language.
Rahul, on the other hand, acted like recursion is his childhood friend. He goes: “Daksh, multiplication is just addition on loop. Easy. Even Aarav can do it.” Aarav: “Bro unnecessary insult.”
How Rahul Explained It
Rahul grabbed my notebook and wrote: If second number is 0, return 0, Else return: a + multiply(a, b – 1), Negative numbers? Fix sign later. He literally said “Recursion is just repeating yourself but in a useful way. Unlike Aarav repeating the same excuses.”
Aarav’s Role
Aarav pretended he understood everything while actually searching “recursion meaning in hindi” on his phone. Then suddenly he said, “So basically keep adding until b becomes zero?”
My (Daksh’s) Job
As usual, I was the official display manager:
– print messages
– run the program
– show the output
– stop Rahul and Aarav from fighting over who understood recursion first
What does do?
No * operator, Recursion breaks the problem into tiny pieces, Adds numbers repeatedly, Handles negatives, Shows how logic replaces operators and gives Rahul a chance to act like a professor
Code:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int multiplyNumbers(int firstNumber, int secondNumber) { if (secondNumber == 0) return 0; if (secondNumber > 0) return firstNumber + multiplyNumbers(firstNumber, secondNumber - 1); return -multiplyNumbers(firstNumber, -secondNumber); // handle negative numbers } int main() { int firstNumber, secondNumber; printf("Enter two numbers: "); scanf("%d %d", &firstNumber, &secondNumber); printf("Multiplication of %d and %d = %d\n", firstNumber, secondNumber, multiplyNumbers(firstNumber, secondNumber)); return 0; }
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int multiplyNumbers(int firstNumber, int secondNumber) {if (secondNumber == 0)return 0;if (secondNumber > 0)return firstNumber + multiplyNumbers(firstNumber, secondNumber - 1);return -multiplyNumbers(firstNumber, -secondNumber); // handle negative numbers}int main() {int firstNumber, secondNumber;printf("Enter two numbers: ");scanf("%d %d", &firstNumber, &secondNumber);printf("Multiplication of %d and %d = %d\n",firstNumber, secondNumber,multiplyNumbers(firstNumber, secondNumber));return 0;}
Output:
| ← Previous | 🏠 Homepage | Next Chapter → |
Decent post but needs more explanation for the individual parts of the code in order to truly understand what is going on.
ReplyDelete