Se da un círculo con k puntos equidistantes en su circunferencia. En el círculo se dan 2 puntos A y B. Encuentre la cuenta de todos los ángulos obtusos (ángulos mayores de 90 grados) formados a partir de /_ACB, donde C puede ser cualquier punto en el círculo que no sea A o B.
Nota:
A y B no son iguales.
A < B.
Los puntos están entre 1 y K (ambos inclusive).
Ejemplos:
Input : K = 6, A = 1, B = 3. Output : 1 Explanation : In the circle with 6 equidistant points, when C = 2 i.e. /_123, we get obtuse angle. Input : K = 6, A = 1, B = 4. Output : 0 Explanation : In this circle, there is no such C that form an obtuse angle.
Se puede observar que si A y B tienen elementos iguales entre ellos, no puede haber ningún C tal que ACB sea obtuso. Además, el número de ángulos obtusos posibles es el arco más pequeño entre A y B.
A continuación se muestra la implementación:
C++
// C++ program to count number of obtuse // angles for given two points. #include <bits/stdc++.h> using namespace std; int countObtuseAngles(int a, int b, int k) { // There are two arcs connecting a // and b. Let us count points on // both arcs. int c1 = (b - a) - 1; int c2 = (k - b) + (a - 1); // Both arcs have same number of // points if (c1 == c2) return 0; // Points on smaller arc is answer return min(c1, c2); } // Driver code int main() { int k = 6, a = 1, b = 3; cout << countObtuseAngles(a, b, k); return 0; }
Java
// Java program to count number of obtuse // angles for given two points class GFG { static int countObtuseAngles(int a, int b, int k) { // There are two arcs connecting a // and b. Let us count points on // both arcs. int c1 = (b - a) - 1; int c2 = (k - b) + (a - 1); // Both arcs have same number of // points if (c1 == c2) return 0; // Points on smaller arc is answer return min(c1, c2); } // Driver Program to test above function public static void main(String arg[]) { int k = 6, a = 1, b = 3; System.out.print(countObtuseAngles(a, b, k)); } } // This code is contributed by Anant Agarwal.
Python
# C++ program to count number of obtuse # angles for given two points. def countObtuseAngles( a, b, k): # There are two arcs connecting a # and b. Let us count points on # both arcs. c1 = (b - a) - 1 c2 = (k - b) + (a - 1) # Both arcs have same number of # points if (c1 == c2): return 0 # Points on smaller arc is answer return min(c1, c2) # Driver code k, a, b = 6, 1, 3 print countObtuseAngles(a, b, k) # This code is contributed by Sachin Bisht
C#
// C# program to count number of obtuse // angles for given two points using System; class GFG { static int countObtuseAngles(int a, int b, int k) { // There are two arcs connecting // a and b. Let us count points // on both arcs. int c1 = (b - a) - 1; int c2 = (k - b) + (a - 1); // Both arcs have same number // of points if (c1 == c2) return 0; // Points on smaller arc is // answer return Math.Min(c1, c2); } // Driver Program to test above // function public static void Main() { int k = 6, a = 1, b = 3; Console.WriteLine( countObtuseAngles(a, b, k)); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to count number // of obtuse angles for given // two points. function countObtuseAngles($a, $b, $k) { // There are two arcs connecting a // and b. Let us count points on // both arcs. $c1 = ($b - $a) - 1; $c2 = ($k - $b) + ($a - 1); // Both arcs have same number of // points if ($c1 == $c2) return 0; // Points on smaller arc is answer return min($c1, $c2); } // Driver code $k = 6; $a = 1; $b = 3; echo countObtuseAngles($a, $b, $k); // This code is contributed by aj_36 ?>
Javascript
<script> // Javascript program to count number of obtuse // angles for given two points function countObtuseAngles(a , b , k) { // There are two arcs connecting a // and b. Let us count points on // both arcs. var c1 = (b - a) - 1; var c2 = (k - b) + (a - 1); // Both arcs have same number of // points if (c1 == c2) return 0; // Points on smaller arc is answer return Math.min(c1, c2); } // Driver Program to test above function var k = 6, a = 1, b = 3; document.write(countObtuseAngles(a, b, k)); // This code is contributed by todaysgaurav </script>
Producción :
1
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Aarti_Rathi y Rohit Thapliyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
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 GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA