Longitud de las Diagonales de un Cuadrilátero Cíclico usando la longitud de los Lados.

Dados los números enteros A , B , C y D , que denotan la longitud de los lados de un cuadrilátero cíclico , la tarea es encontrar la longitud de las diagonales de un cuadrilátero cíclico.

Ejemplos:

Entrada: A = 10, B = 15, C = 20, D = 25 
Salida: 22,06 26,07

Entrada: A = 10, B = 30, C =50, D = 20 
Salida: 37,93 29,0 
 

Enfoque: La longitud de las diagonales se puede calcular usando las siguientes ecuaciones:  

Diagonal (p)=\sqrt{\frac{(ac+bd)(ad+bc)}{ab+cd}}              [Tex]Diagonal (q)=\sqrt{\frac{(ac+bd)(ab+cd)}{ad+bc}}          [/Tex]

A continuación se muestra la implementación del enfoque anterior: 

C++

// C++ Program to implement
// the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate the length of
// diagonals of a cyclic quadrilateral
vector<float> Diagonals(int a, int b,
                        int c, int d)
{
    vector<float> ans;
    ans.push_back(sqrt(((a * c) + (b * d)) *
                       ((a * d) + (b * c)) /
                       ((a * b) + (c * d))));
    ans.push_back(sqrt(((a * c) + (b * d)) *
                       ((a * b) + (c * d)) /
                       ((a * d) + (b * c))));
    return ans;
}
 
// Driver Code
int main()
{
    int A = 10;
    int B = 15;
    int C = 20;
    int D = 25;
 
    // Function Call
    vector<float> ans = Diagonals(A, B, C, D);
 
    // Print the final answer
    printf("%.2f %.2f",
           (ans[0]) + .01,
            ans[1] + .01);
}
 
// This code is contributed by Amit Katiyar

Java

// Java Program to implement
// the above approach
import java.util.*;
class GFG{
 
// Function to calculate the length of
// diagonals of a cyclic quadrilateral
static Vector<Float> Diagonals(int a, int b,
                               int c, int d)
{
    Vector<Float> ans = new Vector<Float>();
    ans.add((float) Math.sqrt(((a * c) + (b * d)) *
                              ((a * d) + (b * c)) /
                              ((a * b) + (c * d))));
    ans.add((float) Math.sqrt(((a * c) + (b * d)) *
                              ((a * b) + (c * d)) /
                              ((a * d) + (b * c))));
    return ans;
}
 
// Driver Code
public static void main(String[] args)
{
    int A = 10;
    int B = 15;
    int C = 20;
    int D = 25;
 
    // Function Call
    Vector<Float> ans = Diagonals(A, B,
                                  C, D);
 
    // Print the final answer
    System.out.printf("%.2f %.2f",
                      (ans.get(0)) + .01,
                       ans.get(1) + .01);
}
}
 
// This code is contributed by 29AjayKumar

Python3

# Python3 program to implement
# the above approach
 
import math
 
# Function to calculate the length of
# diagonals of a cyclic quadrilateral
def Diagonals(a, b, c, d):
 
    p = math.sqrt(((a * c)+(b * d))*((a * d)+(b * c))
                  / ((a * b)+(c * d)))
    q = math.sqrt(((a * c)+(b * d))*((a * b)+(c * d))
                  / ((a * d)+(b * c)))
 
    return [p, q]
 
 
# Driver Code
A = 10
B = 15
C = 20
D = 25
 
# Function Call
ans = Diagonals(A, B, C, D)
 
# Print the final answer
print(round(ans[0], 2), round(ans[1], 2))

C#

// C# Program to implement
// the above approach
using System;
using System.Collections.Generic;
class GFG{
 
// Function to calculate the length of
// diagonals of a cyclic quadrilateral
static List<float> Diagonals(int a, int b,
                             int c, int d)
{
  List<float> ans = new List<float>();
  ans.Add((float) Math.Sqrt(((a * c) + (b * d)) *
                            ((a * d) + (b * c)) /
                            ((a * b) + (c * d))));
  ans.Add((float) Math.Sqrt(((a * c) + (b * d)) *
                            ((a * b) + (c * d)) /
                            ((a * d) + (b * c))));
  return ans;
}
 
// Driver Code
public static void Main(String[] args)
{
  int A = 10;
  int B = 15;
  int C = 20;
  int D = 25;
 
  // Function Call
  List<float> ans = Diagonals(A, B,
                              C, D);
 
  // Print the readonly answer
  Console.Write("{0:F2} {1:F2}",
                 (ans[0]) + .01,
                  ans[1] + .01);
}
}
 
// This code is contributed by 29AjayKumar

Javascript

<script>
 
// Javascript Program to implement
// the above approach
 
// Function to calculate the length of
// diagonals of a cyclic quadrilateral
function Diagonals(a, b, c, d)
{
 
    var p = parseFloat(
            Math.sqrt(((a * c) + (b * d)) *
                      ((a * d) + (b * c)) /
                      ((a * b) + (c * d))));
    var q = parseFloat(
            Math.sqrt(((a * c) + (b * d)) *
                      ((a * b) + (c * d)) /
                      ((a * d) + (b * c))));
 
    return [p, q];
}
 
// Driver Code
var A = 10;
var B = 15;
var C = 20;
var D = 25;
 
// Function Call
var ans = Diagonals(A, B, C, D)
 
// Print the final answer
document.write(ans[0].toFixed(2) + " ",
               ans[1].toFixed(2));
 
// This code is contributed by kirti
 
</script>
Producción: 

22.06 26.07

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por divyamohan123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *