# Check whether all the rotations of a given number is greater than or equal to the given number or not

Given an integer x, the task is to find if every k-cycle shift on the element produces a number greater than or equal to the same element.
A k-cyclic shift of an integer x is a function that removes the last k digits of x and inserts them in its beginning.
For example, the k-cyclic shifts of 123 are 312 for k=1 and 231 for k=2. Print Yes if the given condition is satisfied else print No.

Examples:

Input: x = 123
Output : Yes
The k-cyclic shifts of 123 are 312 for k=1 and 231 for k=2.
Both 312 and 231 are greater than 123.

Input: 2214
Output: No
The k-cyclic shift of 2214 when k=2 is 1422 which is smaller than 2214

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: Simply find all the possible k cyclic shifts of the number and check if all are greater than the given number or not.

Below is the implementation of the above approach:

## C++

 // CPP implementation of the approach #include using namespace std;    void CheckKCycles(int n, string s)  {     bool ff = true;     int x = 0;     for (int i = 1; i < n; i++)      {            // Splitting the number at index i          // and adding to the front          x = (s.substr(i) + s.substr(0, i)).length();            // Checking if the value is greater than          // or equal to the given value          if (x >= s.length())          {             continue;         }         ff = false;         break;     }     if (ff)      {         cout << ("Yes");     }     else     {         cout << ("No");     } }    // Driver code int main()  {     int n = 3;     string s = "123";     CheckKCycles(n, s);     return 0; }    /* This code contributed by Rajput-Ji */

## Java

 // Java implementation of the approach class GFG  {        static void CheckKCycles(int n, String s)      {         boolean ff = true;         int x = 0;         for (int i = 1; i < n; i++)          {                // Splitting the number at index i              // and adding to the front              x = (s.substring(i) + s.substring(0, i)).length();                // Checking if the value is greater than              // or equal to the given value              if (x >= s.length())              {                 continue;             }             ff = false;             break;         }         if (ff)          {             System.out.println("Yes");         }         else          {             System.out.println("No");         }        }        // Driver code     public static void main(String[] args)      {         int n = 3;         String s = "123";         CheckKCycles(n, s);     } }    /* This code contributed by PrinciRaj1992 */

## Python

 # Python3 implementation of the approach def CheckKCycles(n, s):     ff = True     for i in range(1, n):            # Splitting the number at index i          # and adding to the front         x = int(s[i:] + s[0:i])            # Checking if the value is greater than          # or equal to the given value         if (x >= int(s)):             continue         ff = False         break     if (ff):         print("Yes")     else:         print("No")    n = 3 s = "123" CheckKCycles(n, s)

## C#

 // C# implementation of the approach using System;    class GFG  {        static void CheckKCycles(int n, String s)      {         bool ff = true;         int x = 0;         for (int i = 1; i < n; i++)          {                // Splitting the number at index i              // and adding to the front              x = (s.Substring(i) + s.Substring(0, i)).Length;                // Checking if the value is greater than              // or equal to the given value              if (x >= s.Length)              {                 continue;             }             ff = false;             break;         }         if (ff)          {             Console.WriteLine("Yes");         }         else         {             Console.WriteLine("No");         }        }        // Driver code     public static void Main(String[] args)      {         int n = 3;         String s = "123";         CheckKCycles(n, s);     } }    // This code has been contributed by 29AjayKumar

## PHP

 = strlen(\$s))          {             continue;         }         \$ff = false;         break;     }     if (\$ff)      {         print("Yes");     }     else     {         print("No");     } }    // Driver code \$n = 3; \$s = "123"; CheckKCycles(\$n, \$s);    // This code contributed by mits  ?>

Output:

Yes

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.