
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find Product of Two Numbers Using Recursion in Go
The product of two numbers is the result you get when you multiply them together. So 15 is the product of 3 and 5 and 22 is the product of 2 and 11 and so on.
A Recursion is where a function calls itself by direct or indirect means. Every recursive function has a base case or base condition which is the final executable statement in recursion and halts further calls.
Example-1: Golang Program Code to Find The Product of Two Numbers Using Recursion by Using The Direct Recursion Method
Syntax
Syntax for direct recursion func recursion() { recursion() } func main() { recursion(); }
Algorithm
STEP 1 ? Import the package fmt.
STEP 2 ? Create the function product().
STEP 3 ? We will use an if...else conditional statement.
STEP 4 ? Start the function main().
STEP 5 ? Initialize the integer variables.
STEP 6 ? Call the function product().
STEP 7 ? Print the result on the screen using fmt.Printf().
Example
package main // fmt package provides the function to print anything import "fmt" func product(n int, m int) int { // if n less than m if n < m { return product(m, n) } else { // if m is not equal to 0 if (m != 0) { // recursive call to itself return (n + product(n, m-1)) } else { return 0 } } } // Start the function main() func main() { // Declare and initialize integer variables var a int var b int var c int a = 4 b = 15 fmt.Println("The N1=",a,"\nThe N2 =",b) c = product(a, b) fmt.Printf("The product of two numbers: %d\n", c) }
Output
The N1= 4 The N2 = 15 The product of two numbers: 60
Description
In the above program, we first declare the package main.
We imported the fmt package that includes the files of package fmt.
Next we create a function product() to find the product of two numbers using the recursion technique.
We will use an if-else conditional statement which allows you to execute one block of code if the specified condition is true and another block of code if the condition is false.
If n is less than m, the function will return the product(m, n) and end the recursive function.
And if m is not equal to 0, then the function will recursive call to the function itself and return (n + product(n, m-1)).
Now start the function main ().
Next initialize the integer variables a and b which corresponds to the two numbers whose product has to be found. An integer c corresponds to the final result.
Now call the product () function
And print the result on the screen using fmt.Printf().
Example-2 to Find The Product of Two Numbers Using Recursion by Using Indirect Recursion Method
Syntax
Syntax for indirect recursion func recursion_1() { recursion_2()} func recursion_2(){ recursion_1()} func main() { recursion_1(); }
Algorithm
STEP 1 ? Import the package fmt.
STEP 2 ? Create the function product_1().
STEP 3 ? We will use if...else conditional statement.
STEP 4 ? Create the function product_2().
STEP 5 ? Recursive call to the function product_1() indirectly.
STEP 5 ? Start the function main().
STEP 6 ? Initialize the integer variables x, y and z.
STEP 7 ? Call the function product_1().
STEP 8 ? Print the result on the screen using fmt.Printf().
Example
package main // fmt package provides the function to print anything import "fmt" // defining the function with a parameter of int // type and have a return type int func product_1(n int, m int) int { // this is the base condition // if n less than m if n < m { return product_2(m, n) } else { // if m is not equal to 0 if (m != 0) { // recursive call to the second function product_2() return (n + product_2(n, m-1)) } else { return 0 } } } func product_2(n int, m int) int { // if n less than m if n < m { return product_1(m, n) } else { // if m is not equal to 0 if (m != 0) { // recursive call to the first function product_1() return (n + product_1(n, m-1)) } else { return 0 } } } func main() { // Declare and initialize integer variable var x int var y int var z int x = 11 y = 15 fmt.Println("The N1=",x,"\nThe N2 =",y) z = product_1(x, y) fmt.Printf("The product of two numbers: %d\n", z) }
Output
The N1= 11 The N2 = 15 The product of two numbers: 165
Description Of The Code
In the above program, we first declare the package main.
We imported the fmt package that includes the files of package fmt.
Next we create a function product_1() to find the product of two numbers using the recursion technique.
We will use an if-else conditional statement which allows you to execute one block of code if the specified condition is true and another block of code if the condition is false.
If n is less than m, the function will return the product (m, n) and end the recursive function.
And if m is not equal to 0, then the function will recursively call to the second function product_2() indirectly and return (n + product(n, m-1)).
Next we create a function product_2 () and similarly to the above function make a recursive call to the function product_1() and return (n + product_1(n, m-1)).
Now start the function main().
Next initialize the integer variables x and y which correspond to the two numbers whose product has to be found. And integer z corresponds to the final result.
Now calling the first function product_1().
And finally print the result on the screen using fmt.Printf().