Dadas dos coordenadas de una línea como (x1, y1) y (x2, y2), encuentre si la línea que pasa por estos puntos también pasa por el origen o no.
Ejemplos:
Input : (x1, y1) = (10, 0) (x2, y2) = (20, 0) Output : Yes The line passing through these points clearly passes through the origin as the line is x axis. Input : (x1, y1) = (1, 28) (x2, y2) = (2, 56) Output : Yes
Enfoque: La ecuación de una recta que pasa por dos puntos (x1, y1) y (x2, y2) viene dada por
y-y1 = ((y2-y1) / (x2-x1))(x-x1) + c
Si la recta también pasa por el origen, entonces c=0, por lo que la ecuación de la línea se convierte en
y-y1 = ((y2-y1) / (x2-x1))(x-x1)
Manteniendo x=0, y=0 en la ecuación anterior obtenemos,
x1(y2-y1) = y1(x2-x1)
Entonces, la ecuación anterior debe cumplirse si cualquier línea que pasa por dos coordenadas (x1, y1) y (x2, y2) también pasa por el origen (0, 0).
C++
/* C++ program to find if line passing through two coordinates also passes through origin or not */ #include <bits/stdc++.h> using namespace std; bool checkOrigin(int x1, int y1, int x2, int y2) { return (x1 * (y2 - y1) == y1 * (x2 - x1)); } // Driver code int main() { if (checkOrigin(1, 28, 2, 56) == true) cout << "Yes"; else cout << "No"; return 0; }
Java
// Java program to find if line passing through // two coordinates also passes through origin // or not import java.io.*; class GFG { static boolean checkOrigin(int x1, int y1, int x2, int y2) { return (x1 * (y2 - y1) == y1 * (x2 - x1)); } // Driver code public static void main (String[] args) { if (checkOrigin(1, 28, 2, 56) == true) System.out.println("Yes"); else System.out.println("No"); } } // This code is contributed by Ajit.
Python3
# Python program to find if line # passing through two coordinates # also passes through origin or not def checkOrigin(x1, y1, x2, y2): return (x1 * (y2 - y1) == y1 * (x2 - x1)) # Driver code if (checkOrigin(1, 28, 2, 56) == True): print("Yes") else: print("No") # This code is contributed # by Anant Agarwal.
C#
// C# program to find if line passing through // two coordinates also passes through origin // or not using System; class GFG { static bool checkOrigin(int x1, int y1, int x2, int y2) { return (x1 * (y2 - y1) == y1 * (x2 - x1)); } // Driver code public static void Main() { if (checkOrigin(1, 28, 2, 56) == true) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to find if // line passing through // two coordinates also // passes through origin // or not function checkOrigin($x1, $y1, $x2, $y2) { return ($x1 * ($y2 - $y1) == $y1 * ($x2 - $x1)); } // Driver code if (checkOrigin(1, 28, 2, 56) == true) echo("Yes"); else echo("No"); // This code is contributed by Ajit. ?>
Javascript
<script> // JavaScript program to find if line passing through // two coordinates also passes through origin // or not function checkOrigin(x1, y1, x2, y2) { return (x1 * (y2 - y1) == y1 * (x2 - x1)); } // Driver Code if (checkOrigin(1, 28, 2, 56) == true) document.write("Yes"); else document.write("No"); // This code is contributed by chinmoy1997pal. </script>
Yes
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Aarti_Rathi . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por Ashish Jindal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA