Programa para Area Of Square después de N-th fold

Un cuadrado es una forma plana, en un plano, definida por cuatro puntos en las cuatro esquinas. Un cuadrado tiene cuatro lados, todos de igual longitud, y cuatro esquinas, todos ángulos rectos (ángulos de 90 grados). Un cuadrado es una especie de rectángulo. 
Dado un cuadrado de lado  N    y número de pliegues  F    . La tarea es encontrar el área del cuadrado después del pliegue F-th .
El plegado de escuadra es el siguiente: 
 

  1. En el primer pliegue, doble el cuadrado de izquierda a derecha en forma de triángulo.
  2. En el segundo pliegue, doble el cuadrado de arriba hacia abajo.
  3. En el tercer pliegue, vuelve a doblar el cuadrado de izquierda a derecha.

Ejemplos: 
 

Input : N = 4, F = 2
Output : 2
Explanation: 
Initially square side is 4 x 4
After 1st folding, square side becomes 4 x 2
After 2nd folding, square side becomes 2 x 2
Thus area equals 2 x 2 = 4.

Input : N = 100, F = 6
Output : 156.25

Enfoque
 

  • Calcula inicialmente el área del cuadrado antes de plegarlo.
  • Después de cada plegado, el área del cuadrado se reduce a la mitad. Es decir, área = área/2 .
  • Entonces, finalmente dividimos el área del cuadrado por pow(2, F)

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

C++

// CPP program to find
// the area of the square
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate area of square after
// given number of folds
double areaSquare(double side, double fold)
{
    double area = side * side;
 
    return area * 1.0 / pow(2, fold);
}
 
// Driver Code
int main()
{
    double side = 4, fold = 2;
 
    cout << areaSquare(side, fold);
 
    return 0;
}

Java

// Java program to find the area of the square
class GFG
{
 
    // Function to calculate area of square
    // after given number of folds
    static double areaSquare(double side,
                            double fold)
    {
        double area = side * side;
     
        return area * 1.0 / Math.pow(2, fold);
    }
     
    // Driver Code
    public static void main(String []args)
    {
        double side = 4, fold = 2;
     
        System.out.println(areaSquare(side, fold));
    }
}
 
// This code is contributed
// by aishwarya.27

Python3

# Python3 program to find the area
# of the square
 
# Function to calculate area of
# square after given number of folds
def areaSquare(side, fold) :
        area = side * side
        ans = area / pow(2, fold)
        return ans
 
# Driver Code
if __name__ == "__main__" :
         
    side = 4
    fold = 2
    print(areaSquare(side, fold))
 
# This code is contributed by Ryuga

C#

// C# program to find the area of the square
using System;
 
class GFG
{
     
// Function to calculate area of square
// after given number of folds
static double areaSquare(double side,
                         double fold)
{
    double area = side * side;
 
    return area * 1.0 / Math.Pow(2, fold);
}
 
// Driver Code
public static void Main()
{
    double side = 4, fold = 2;
 
    Console.Write(areaSquare(side, fold));
}
}
 
// This code is contributed
// by Akanksha Rai

PHP

<?php
// PHP program to find the area of the square
 
// Function to calculate area of square
// after given number of folds
function areaSquare($side, $fold)
{
    $area = $side * $side;
 
    return $area * 1.0 / pow(2, $fold);
}
 
// Driver Code
$side = 4;
$fold = 2;
echo areaSquare($side, $fold);
 
// This code is contributed by ajit
?>

Javascript

<script>
// Javascript program to find
// the area of the square
 
// Function to calculate area of square after
// given number of folds
function areaSquare( side,  fold)
{
    var area = side * side;
 
    return (area * 1.0 )/ (Math.pow(2, fold));
}
 
// Driver Code
var side = 4, fold = 2;
 
    document.write(areaSquare(side, fold));
 
// This code is contributed by akshitsaxenaa09.
</script>
Producción: 

4

 

Complejidad de tiempo : O(logn) 
Espacio auxiliar : O(1)

Publicación traducida automáticamente

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