Žonglieru secība
#practiceLinkDiv { display: none !important; } Žongliera secība ir veselu skaitļu virkne, kurā pirmais vārds sākas ar pozitīvu veselu skaitli a un pārējie termini tiek ģenerēti no tiešā iepriekšējā termina, izmantojot tālāk norādīto atkārtošanās attiecību:
a_{k+1}=begin{Bmatrix} lfloor a_{k}^{1/2} rfloor & for Quad pāra quad a_k\ lfloor a_{k}^{3/2} rfloor & for Quad nepāra quad a_k end{Bmatrix}
Žonglieru secība, kas sākas ar numuru 3:
3 5 11 36 6 2 1
Žonglieru secība, kas sākas ar numuru 9:
9 27 140 11 36 6 2 1
Dots skaitlis n mums ir jādrukā žongliera secība šim skaitlim kā pirmais secības termins.
Piemēri:
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 1Recommended Practice Žonglieru secība Izmēģiniet to! 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 ( a end = ' ' ) # 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 ( b end = ' ' ) 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>
Izvade:
3 5 11 36 6 2 1 9 27 140 11 36 6 2 1
Laika sarežģītība : O(nlogn), jo vienas while cilpas izmantošanai un kvadrātsaknes atrašanai nepieciešams logaritmisks laiks.
Telpas sarežģītība : O(1) nemainīgiem mainīgajiem
Svarīgi punkti:
- Žonglieru secības termini vispirms palielinās līdz maksimālajai vērtībai un pēc tam sāk samazināties.
- Žonglieru secības pēdējais termins vienmēr ir 1.
Atsauce:
https://en.wikipedia.org/wiki/Juggler_sequence