Conteo de coordenadas integrales que se encuentran dentro de un cuadrado

Dadas las coordenadas inferior izquierda y superior derecha (x1, y1) y (x2, y2) de un cuadrado, la tarea es contar el número de coordenadas integrales que se encuentran estrictamente dentro del cuadrado.
Ejemplos: 
 

Entrada: x1 = 1, y1 = 1, x2 = 5, x3 = 5 
Salida:
Explicación: 
A continuación se muestra el cuadrado para las coordenadas dadas: 
 

Entrada: x1 = 1, y1 = 1, x2 = 4, x3 = 4 
Salida:
 

Enfoque: La diferencia entre las ordenadas x e y de las coordenadas inferior y superior derecha de los cuadrados dados da el número de puntos integrales de las ordenadas x y las ordenadas y entre los lados opuestos del cuadrado, respectivamente. El número total de puntos que se encuentran estrictamente dentro del cuadrado está dado por: 
 

cuenta = (x2 – x1 – 1) * (y2 – y1 – 1) 
 

Por ejemplo: 
 

En la figura anterior: 
1. El número total de puntos integrales dentro de la base del cuadrado es (x2 – x1 – 1)
2. El número total de puntos integrales dentro de la altura del cuadrado es (y2 – y1 – 1)
Estos (x2 – x1 – 1) puntos integrales paralelos a la base del cuadrado se repiten (y2 – y1 – 1) número de veces. Por lo tanto, el número total de puntos integrales viene dado por (x2 – x1 – 1)*(y2 – y1 – 1)
 

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

C++

// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate the integral
// points inside a square
void countIntgralPoints(int x1, int y1,
                        int x2, int y2)
{
    cout << (y2 - y1 - 1) * (x2 - x1 - 1);
}
 
// Driver Code
int main()
{
    int x1 = 1, y1 = 1;
    int x2 = 4, y2 = 4;
 
    countIntgralPoints(x1, y1, x2, y2);
    return 0;
}

Java

// Java program for the above approach
 
class GFG {
 
// Function to calculate the integral
// points inside a square
static void countIntgralPoints(int x1, int y1,
                               int x2, int y2)
{
    System.out.println((y2 - y1 - 1) *
                       (x2 - x1 - 1));
}
 
// Driver Code
public static void main(String args[])
{
    int x1 = 1, y1 = 1;
    int x2 = 4, y2 = 4;
     
    countIntgralPoints(x1, y1, x2, y2);
}
}
 
// This code is contributed by rutvik_56

Python3

# Python3 program for the above approach
 
# Function to calculate the integral
# points inside a square
def countIntgralPoints(x1, y1, x2, y2):
    print((y2 - y1 - 1) * (x2 - x1 - 1))
 
# Driver Code
if __name__ == '__main__':
 
    x1 = 1
    y1 = 1
    x2 = 4
    y2 = 4
 
    countIntgralPoints(x1, y1, x2, y2)
 
# This code is contributed by Samarth

C#

// C# program for the above approach
using System;
 
class GFG{
     
// Function to calculate the integral
// points inside a square
static void countIntgralPoints(int x1, int y1,
                               int x2, int y2)
{
    Console.WriteLine((y2 - y1 - 1) *
                      (x2 - x1 - 1));
}
 
// Driver code
static void Main()
{
    int x1 = 1, y1 = 1;
    int x2 = 4, y2 = 4;
     
    countIntgralPoints(x1, y1, x2, y2);
}
}
 
// This code is contributed by divyeshrabadiya07   

Javascript

<script>
 
// Javascript program for the above approach
 
// Function to calculate the integral
// points inside a square
function countIntgralPoints(x1, y1, x2, y2)
{
    document.write( (y2 - y1 - 1) * (x2 - x1 - 1));
}
 
// Driver Code
 
var x1 = 1, y1 = 1;
var x2 = 4, y2 = 4;
 
countIntgralPoints(x1, y1, x2, y2);
 
</script>
Producción: 

4

 

Complejidad de tiempo: O (1), ya que no estamos usando ningún bucle.

Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.
 

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *