Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles by Arnab Chakraborty
Page 282 of 377
Find foot of perpendicular from a point in 2D plane to a Line in C++
Consider we have a point P in 2D plane and equation of a line, the task is to find the foot of the perpendicular from P to the line.The equation of the straight line is ax + by + c = 0. Equation of line passing through P and perpendicular to line. Equation of line passing through P and Q will be ay – bx + d = 0. Also P(x1, y1), and Q(x2, y2), so we put coordinate of P on the equation.ay 1−bx 1+d=0, so d=bx1−ay 1Also Q is the intersection of the given line and the line ...
Read MoreFind smallest number n such that n XOR n+1 equals to given k in C++
Suppose we have a positive number k. We have to find the positive number n, such that XOR of n and n+1 is same as k. So if k = 7 (111), output will be 3. As 3 (011), and 3 + 1 = 4 (100), so 011 XOR 100 = 111 (7)There are two possible cases. Consider n is even. The last bit of n = 0. Then the last bit of n + 1 = 1. Rest of the bits are same. So XOR will be 1, when n is odd, last bit 1, and last bit of ...
Read MoreFind index of closing bracket for a given opening bracket in an expression in C++
Consider we have an expression with brackets. If the index of one starting bracket is given, we have to find the closing ending bracket of that. So if the expression is like: (25*6+(88-32+(50/10)+20)), and the index of opening bracket is 6, then closing bracket will be at position 23.Here we will use the stack data-structure to solve this problem. We will traverse the expression from given index, and start pushing the opening brackets, when closing bracket is found, then pop element from stack, when the stack is empty, then return the index.Example#include #include using namespace std; void getEndingBracketIndex(string exp, int ...
Read MoreFind sum of even index binomial coefficients in C++
Consider we have a number n, we have to find the sum of even indexed binomial coefficients like $$\left(\begin{array}{c}n\ 0\end{array}\right)+\left(\begin{array}{c}n\ 2\end{array}\right)+\left(\begin{array}{c}n\ 4\end{array}\right)+\left(\begin{array}{c}n\ 6\end{array}\right)+...\left(\begin{array}{c}4\ 0\end{array}\right)+\left(\begin{array}{c}4\ 2\end{array}\right)+\left(\begin{array}{c}4\ 4\end{array}\right)++=1+6+1=8$$So here we will find all the binomial coefficients, then only find the sum of even indexed values.Example#include using namespace std; int evenIndexedTermSum(int n) { int coeff[n + 1][n + 1]; for (int i = 0; i
Read MoreFind k-th bit in a binary string created by repeated invert and append operations in C++
Suppose we have a binary string s, initially this is say “0”. Now in each iteration invert it, and append it, thus after nth iteration, we will find the kth bit. Suppose the number of iteration is 4, and k = 7, so it will be −IterationValue (Initially 0)1012011030110100140110100110010110so 7th bit is 1.In each iteration, find complement, and append, thus after nth iteration, finds kth bitExample#include using namespace std; string getComplement(string bin){ string temp = ""; for(int i= 0; i
Read MoreFind length of period in decimal value of 1/n in C++
Suppose we have a number n. We have to find the length of period in decimal value of 1/n. So if the value of n is 7, then 1/7 = 0.142857142857… That part in bold letters are repeating. So here the length of period is 6.For a number n, there can be n distinct remainders in the output, but the period may not begin from the first remainder as some initial remainders are non-repeating. So we have to make sure that a remainder from period is picked, start from (n+1)th remainder, and start looking for the next occurrence. The distance ...
Read MoreFind maximum array sum after making all elements same with repeated subtraction in C++
Suppose we have an array of n elements. Find the maximum possible sum of all elements such that all the elements are same. Only operation that is allowed is choosing any two elements and replacing the larger of them by the absolute difference of the two. Suppose elements are like [9, 12, 3, 6]. Then the output will be 12. So at first replace A[1] with A[1] – A[3] = 12 – 6 = 6. So now elements are [9, 6, 3, 6], then replace A[3] with A[3] – A[2] = 6 – 3 = 3. So the elements are ...
Read MoreFind Maximum Sum Strictly Increasing Subarray in C++
Suppose we have an array of n integers. Find the max sum of strictly increasing subarrays. So if the array is like [1, 2, 3, 2, 5, 1, 7], the sum is 8. In this array there are three strictly increasing sub-arrays these are {1, 2, 3}, {2, 5} and {1, 7}. The max sum sub-array is {1, 7}To solve this problem, we have to keep track of max sum and the current sum. For each element arr[i] if this is larger than arr[i – 1], then we add this to the current sum, otherwise arr[i] is the starting point ...
Read MoreFind maximum volume of a cuboid from the given perimeter and area in C++
Suppose we have the area A and a perimeter P, now we have to find what will be the maximum volume that can be made in form of cuboid from given perimeter and surface area. So when the P is 24 and A is 24, then the output will be 8.As we know for given perimeter of cuboid P = 4(length + breadth + Depth), for area, it will be A = 2(length* breadth + breadth*Depth + length *Depth), and the volume is V = (length* breadth*Depth)Example#include #include using namespace std; float maxVolumeCuboid(float Peri, float Area) { float length ...
Read MoreFind minimum moves to reach target on an infinite line in C++
Suppose we have a number position in infinite number line. (-inf to +inf). Starting from 0, we have to reach to the target by moving as described. In ith move, we can go i steps either left or right. We have to find minimum number of moves that are required. Suppose the target is 2, so minimum steps will be 3. From 0 to 1, from 1 to -1 and from -1 to 2.To solve this problem, we have some important points to remember. If the target is negative, then just take this as positive, as the number line is ...
Read More