Given a curve [ y = x(A – x) ], the task is to find normal at a given point ( x, y) on that curve, where A is an integer number and x, y also any integer.
Examples:
Input: A = 2, x = 2, y = 0
Output: 2y = x - 2
Since y = x(2 - x)
y = 2x - x^2 differentiate it with respect to x
dy/dx = 2 - 2x put x = 2, y = 0 in this equation
dy/dx = 2 - 2* 2 = -2
equation => (Y - 0 ) = ((-1/-2))*( Y - 2)
=> 2y = x -2
Input: A = 3, x = 4, y = 5
Output: Not possible
Point is not on that curve
Approach: First we need to find given point is on that curve or not if the point is on that curve then:
- We need to differentiate that equation that point don’t think too much for differentiation of this equation if you analyze then you find that dy/dx always become A – 2x.
- Put x, y in dy/dx.
- Equation of normal is Y – y = -(1/( dy/dx )) * (X – x).
Below is the implementation of the above approach:
C++
// C++ program for find curve// at given point#include <bits/stdc++.h>using namespace std;// function for find normalvoid findNormal(int A, int x, int y){ // differentiate given equation int dif = A - x * 2; // check that point on the curve or not if (y == (2 * x - x * x)) { // if differentiate is negative if (dif < 0) cout << 0 - dif << "y = " << "x" << (0 - x) + (y * dif); else if (dif > 0) // differentiate is positive cout << dif << "y = " << "-x+" << x + dif * y; // differentiate is zero else cout << "x = " << x; } // other wise normal not found else cout << "Not possible";}// Driver codeint main(){ // declare variable int A = 2, x = 2, y = 0; // call function findNormal findNormal(A, x, y); return 0;} |
Java
// Java program for find curve// at given pointimport java.io.*;class GFG {// function for find normalstatic void findNormal(int A, int x, int y){ // differentiate given equation int dif = A - x * 2; // check that point on the curve or not if (y == (2 * x - x * x)) { // if differentiate is negative if (dif < 0) System.out.print( (0 - dif) + "y = " + "x" +((0 - x) + (y * dif))); else if (dif > 0) // differentiate is positive System.out.print( dif + "y = " + "-x+" + (x + dif * y)); // differentiate is zero else System.out.print( "x = " +x); } // other wise normal not found else System.out.println( "Not possible");} // Driver code public static void main (String[] args) { // declare variable int A = 2, x = 2, y = 0; // call function findNormal findNormal(A, x, y);; }}// This Code is contributed by inder_verma.. |
Python3
# Python 3 program for find curve# at given point# function for find normaldef findNormal(A, x, y): # differentiate given equation dif = A - x * 2 # check that point on the curve or not if (y == (2 * x - x * x)): # if differentiate is negative if (dif < 0): print(0 - dif, "y =", "x", (0 - x) + (y * dif)) elif (dif > 0): # differentiate is positive print(dif, "y =", "- x +", x + dif * y) # differentiate is zero else: print("x =", x) # other wise normal not found else: print("Not possible")# Driver codeif __name__ == '__main__': # declare variable A = 2 x = 2 y = 0 # call function findNormal findNormal(A, x, y) # This code is contributed By# Surendra_Gangwar |
C#
// C# program for find curve // at given point using System;class GFG{ // function for find normalstatic void findNormal(int A, int x, int y){ // differentiate given equation int dif = A - x * 2; // check that point on // the curve or not if (y == (2 * x - x * x)) { // if differentiate is negative if (dif < 0) Console.Write((0 - dif) + "y = " + "x" + ((0 - x) + (y * dif))); else if (dif > 0) // differentiate is positive Console.Write(dif + "y = " + "-x + " + (x + dif * y)); // differentiate is zero else Console.Write("x = " + x); } // other wise normal not found else Console.WriteLine("Not possible");}// Driver codestatic public void Main (){ // declare variable int A = 2, x = 2, y = 0; // call function findNormal findNormal(A, x, y);}}// This code is contributed by ajit |
PHP
<?php// PHP program for find curve // at given point // function for find normal function findNormal($A, $x, $y) { // differentiate given equation $dif = $A - $x * 2; // check that point on the // curve or not if ($y == (2 * $x - $x * $x)) { // if differentiate is negative if ($dif < 0) echo (0 - $dif), "y = ", "x" , (0 - $x) + ($y * $dif); else if ($dif > 0) // differentiate is positive echo $dif , "y = ", "-x+" ,( $x + $dif * $y); // differentiate is zero else echo "x = " , $x; } // other wise normal not found else echo "Not possible"; } // Driver code // declare variable $A = 2;$x = 2;$y = 0; // call function findNormal findNormal($A, $x, $y); // This code is contributed by ajit?> |
Javascript
<script> // Javascript program for find curve at given point // function for find normal function findNormal(A, x, y) { // differentiate given equation let dif = A - x * 2; // check that point on // the curve or not if (y == (2 * x - x * x)) { // if differentiate is negative if (dif < 0) document.write((0 - dif) + "y = " + "x" + ((0 - x) + (y * dif))); else if (dif > 0) // differentiate is positive document.write(dif + "y = " + "-x + " + (x + dif * y)); // differentiate is zero else document.write("x = " + x); } // other wise normal not found else document.write("Not possible"); } // declare variable let A = 2, x = 2, y = 0; // call function findNormal findNormal(A, x, y); </script> |
2y = x-2
Time Complexity : O(1) ,as we are not using any loop.
Auxiliary Space : O(1) ,as we are not using any extra space.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Here you will find 76796 additional Info to that Topic: geeksforgeeks.org/find-normal-at-a-given-point-on-the-curve/ […]
… [Trackback]
[…] Read More Info here to that Topic: geeksforgeeks.org/find-normal-at-a-given-point-on-the-curve/ […]
… [Trackback]
[…] Read More here on that Topic: geeksforgeeks.org/find-normal-at-a-given-point-on-the-curve/ […]
… [Trackback]
[…] Here you will find 93015 more Info to that Topic: geeksforgeeks.org/find-normal-at-a-given-point-on-the-curve/ […]