logo

Secuencia de malabarista

Pruébalo en GfG Practice ' title= #practiceLinkDiv { mostrar: ninguno !importante; }

La secuencia de malabarista es una serie de números enteros en la que el primer término comienza con un número entero positivo a y los términos restantes se generan a partir del término inmediatamente anterior utilizando la siguiente relación de recurrencia: 
a_{k+1}=begin{Bmatrix} lfloor a_{k}^{1/2} rfloor & para quad par quad a_k\ lfloor a_{k}^{3/2} rfloor & para quad impar quad a_k end{Bmatrix}        
Secuencia de malabarista que comienza con el número 3: 
3 5 11 36 6 2 1
Secuencia de malabarista que comienza con el número 9: 
9 27 140 11 36 6 2 1
dado un numero norte Tenemos que imprimir la secuencia de Juggler para este número como primer término de la secuencia. 
Ejemplos: 
 

selenio
Input: 9 Output: 9 27 140 11 36 6 2 1 We start with 9 and use above formula to get next terms. Input: 6 Output: 6 2 1
Recommended Practice Secuencia de malabarista ¡Pruébalo! C++
// C++ implementation of Juggler Sequence #include    using namespace std; // This function prints the juggler Sequence void printJuggler(long long n) {  long long a = n;  // print the first term  cout << a << ' ';  // calculate terms until   // last term is not 1  while (a != 1)  {  long long b = 0;  // Check if previous term   // is even or odd  if (a % 2 == 0)  // calculate next term  b = floor(sqrt(a));  else  // for odd previous term   // calculate next term  b = floor(sqrt(a) *   sqrt(a) * sqrt(a));  cout << b << ' ';  a = b;  } } // Driver Code int main() {  printJuggler(37);  cout <<'n';  printJuggler(9);  return 0; } // This code is contributed by shubhamsingh10 
C
// C implementation of Juggler Sequence #include #include // This function prints the juggler Sequence void printJuggler(int n) {  int a = n;  // print the first term  printf('%d ' a);  // calculate terms until last term is not 1  while (a != 1)  {  int b = 0;  // Check if previous term is even or odd  if (a%2 == 0)  // calculate next term  b = floor(sqrt(a));  else  // for odd previous term calculate  // next term  b = floor(sqrt(a)*sqrt(a)*sqrt(a));  printf('%d ' b);  a = b;  } } //driver program to test above function int main() {  printJuggler(3);  printf('n');  printJuggler(9);  return 0; } 
Java
// Java implementation of Juggler Sequence import java.io.*; import java.math.*; class GFG {    // This function prints the juggler Sequence  static void printJuggler(int n)  {  int a = n;    // print the first term  System.out.print(a+' ');    // calculate terms until last term is not 1  while (a != 1)  {  int b = 0;    // Check if previous term is even or odd  if (a%2 == 0)    // calculate next term  b = (int)Math.floor(Math.sqrt(a));    else    // for odd previous term calculate  // next term  b =(int) Math.floor(Math.sqrt(a) *  Math.sqrt(a) * Math.sqrt(a));    System.out.print( b+' ');  a = b;  }  } // Driver program to test above function public static void main (String[] args) {  printJuggler(3);  System.out.println();  printJuggler(9);  } }   //This code is contributed by Nikita Tiwari. 
Python3
import math #This function prints the juggler Sequence def printJuggler(n) : a = n # print the first term print (aend=' ') # calculate terms until last term is not 1 while (a != 1) : b = 0 # Check if previous term is even or odd if (a%2 == 0) : # calculate next term b = (int)(math.floor(math.sqrt(a))) else : # for odd previous term calculate # next term b = (int) (math.floor(math.sqrt(a)*math.sqrt(a)* math.sqrt(a))) print (bend=' ') a = b printJuggler(3) print() printJuggler(9) # This code is contributed by Nikita Tiwari. 
C#
// C# implementation of Juggler Sequence using System; class GFG {    // This function prints the juggler Sequence  static void printJuggler(int n)  {  int a = n;  // print the first term  Console.Write(a+' ');  // calculate terms until last term is not 1  while (a != 1)  {  int b = 0;    // Check if previous term is even or odd  if (a%2 == 0)    // calculate next term  b = (int)Math.Floor(Math.Sqrt(a));  else  // for odd previous term calculate  // next term  b =(int) Math.Floor(Math.Sqrt(a) *  Math.Sqrt(a) * Math.Sqrt(a));  Console.Write( b+' ');  a = b;  }  } // Driver Code public static void Main () {  printJuggler(3);  Console.WriteLine();  printJuggler(9);  } } // This code is contributed by Nitin Mittal 
PHP
 // PHP implementation of  // Juggler Sequence // function prints the // juggler Sequence function printJuggler($n) { $a = $n; // print the first term echo($a . ' '); // calculate terms until  // last term is not 1 while ($a != 1) { $b = 0; // Check if previous // term is even or odd if ($a % 2 == 0) // calculate next term $b = floor(sqrt($a)); else // for odd previous term // calculate next term $b = floor(sqrt($a) * sqrt($a) * sqrt($a)); echo($b . ' '); $a = $b; } } // Driver Code printJuggler(3); echo('n'); printJuggler(9); // This code is contributed by Ajit. ?> 
JavaScript
<script> // Javascript implementation of Juggler Sequence  // This function prints the juggler Sequence  function printJuggler(n)  {  let a = n;    // print the first term  document.write(a+' ');    // calculate terms until last term is not 1  while (a != 1)  {  let b = 0;    // Check if previous term is even or odd  if (a%2 == 0)    // calculate next term  b = Math.floor(Math.sqrt(a));    else    // for odd previous term calculate  // next term  b = Math.floor(Math.sqrt(a) *  Math.sqrt(a) * Math.sqrt(a));    document.write( b+' ');  a = b;  }  } // Driver code to test above methods  printJuggler(3);  document.write('  
'
); printJuggler(9); // This code is contributed by avijitmondal1998. </script>

Producción: 
 

3 5 11 36 6 2 1 9 27 140 11 36 6 2 1

Complejidad del tiempo : O(nlogn) ya que usar un único bucle while y encontrar la raíz cuadrada requiere tiempo logarítmico.



Complejidad espacial : O(1) para variables constantes

Puntos importantes:  

archivo csv leer java
  • Los términos en Juggler Sequence primero aumentan hasta un valor máximo y luego comienzan a disminuir.
  • El último término en la secuencia Juggler es siempre 1.


Referencia:  
https://en.wikipedia.org/wiki/Juggler_sequence