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