Answer:
In Python:
def gcd(m,n):
if n == 0:
return m
elif m == 0:
return n
else:
return gcd(n,m%n)
Explanation:
This defines the function
def gcd(m,n):
If n is 0, return m
<em> if n == 0:
</em>
<em> return m
</em>
If m is 0, return n
<em> elif m == 0:
</em>
<em> return n
</em>
If otherwise, calculate the gcd recursively
<em> else:
</em>
<em> return gcd(n,m%n)</em>
<em />
<em>To call the function to calculate the gcd of say 15 and 5 from main, use:</em>
<em>gcd(15,5)</em>
Answer:
<u>Call by reference</u>
In an function if the variables are passed as reference variables this means that the variables are pointing to the original arguments.So the changes made in the function on the reference variables will be reflected back on the original arguments.
For example:-
#include<stdio.h>
void swap(&int f,&int s)
{
int t=f;
f=s;
s =temp;
}
int main()
{
int n,m;
n=45;
m=85;
swap(n,m);
printf("%d %d",m,n);
return 0;
}
the values of m and n will get swapped.
<u>
Call by value</u>
In this program the values of m and n will not get swapped because they are passed by value.So duplicate copies of m and n will be created and manipulation will be done on them.
#include<stdio.h>
void swapv(int f,int s)
{
int t=f;
f=s;
s=temp;
}
int main()
{
int n,m;
n=45;
m=85;
swapv(n,m);
printf("%d %d",n,m);
return 0;
}
Stack is LIFO data structure (Last In First Out) where the last element entered in stack will be the last one to be out of stack. It has three operations: push() : used to insert an element in stack, pop() : used to delete an element from the stack, top() : used to return the top of the stack i.e. the newest member of the stack. All these operations will take place at the top.
<u>Explanation:</u>
Now, looking at the program, x and y are initialized the values of 2 and 3 respectively. The stack pushes 8 onto the stack making it the first member of the stack. Then the value of x which is 2 is pushed onto the stack. Next, (x+5) = (2+5) = 7 is pushed onto the stack.
Pop() is used to delete hence 7 is popped out from the stack. top() is assigned to y which is 2 in this case and again 2 is popped out from the stack. Now, (x+y) = (2+2) = 4 is pushed onto the stack. And the top() is assigned to x which is 4. 4 is again popped out from the stack. Hence the value of x is 4.
Answer:
Charles babbage ok my boy