Número de villancico

Un número de Carol es un número entero de la forma 4 n – 2 (n+1) – 1. Una fórmula equivalente es (2 n -1) 2 – 2.
Una propiedad interesante: 
para n > 2, la representación binaria de n – El número de Carol es n-2 unos consecutivos, un solo cero en el medio y n + 1 más consecutivos. Ejemplo, n = 4 el número de villancicos es 223 y el binario de 223 es 11011111, aquí n-2 = 4-2 = 2 consecutivos al principio, luego un solo 0 en el medio y luego n + 1 = 4 + 1 = 5 consecutivos después .
Dado un número n, la tarea es encontrar el n-ésimo Número Carol. Primero, algunos números de villancicos son -1, 7, 47, 223, 959… etc.

Ejemplos: 

Input : n = 2
Output: 7

Input : n = 4
Output: 223

C++

// C++ program to find n'th Carol number
#include <bits/stdc++.h>
using namespace std;
 
// Function to find n'th carol number
int carol(int n)
{
    int result = pow(2, n) - 1;
    return result * result - 2;
}
 
// Driver program to ru the case
int main()
{
    int n = 4;
    cout << carol(n);
    return 0;
}

Python3

# Python program to find n'th Carol number
def carol(n):
    # a**b is a ^ b in python
    result = (2**n) - 1
    return result * result - 2
 
# driver program to run the case
n = 4
print (carol(n))

Java

/* Java program to find n'th Carol number */
class GFG {
    static int carol(int n)
    {
        double tmp = Math.pow(2, n) - 1;
        return (int)tmp;
    }
 
    public static void main(String[] args)
    {
        int n = 4;
        System.out.println(carol(n));
    }
}

C#

/* C# program to find n'th Carol number */
using System;
 
class GFG {
    static int carol(int n)
    {
        int result = (int)Math.Pow(2, n) - 1;
        return result * result - 2;
    }
 
    // Driver code
    public static void Main()
    {
        int n = 4;
        Console.WriteLine(carol(n));
    }
}
 
// This code is contributed by vt_m.

PHP

<?php
// PHP program to find
// n'th Carol number
 
// Function to find
// n'th carol number
function carol($n)
{
    $result = pow(2, $n) - 1;
    return $result * $result - 2;
}
 
// Driver Code
$n = 4;
echo carol($n);
 
// This code is contributed by ajit
?>

Javascript

<script>
    /* Javascript program to find n'th Carol number */
     
    function carol(n)
    {
        let result = Math.pow(2, n) - 1;
        return result * result - 2;
    }
     
    let n = 4;
      document.write(carol(n));
         
</script>

Producción : 

223

Complejidad temporal : O(log n), para función pow

Espacio Auxiliar: O(1)

Referencia: 
https://en.wikipedia.org/wiki/Carol_number
Este artículo es una contribución de Shashank Mishra (Gullu) . 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

Deja una respuesta

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