 GeeksforGeeks App
Open App Browser
Continue

# Php Program to 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

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:

## 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`

Time Complexity: O(N2), where N is the length of the given string. First it runs a loop for traversing the string and inside that substring function is used. So, the code will run in O(N2) time.

Auxiliary Space: O(1), no extra space required, so it is a constant.

Please refer complete article on Check whether all the rotations of a given number is greater than or equal to the given number or not for more details!

My Personal Notes arrow_drop_up