Java Program to Rotate digits of a given number by K Last Updated : 27 Jan, 2022 Comments Improve Suggest changes Like Article Like Report Given two integers N and K, the task is to rotate the digits of N by K. If K is a positive integer, left rotate its digits. Otherwise, right rotate its digits. Examples: Input: N = 12345, K = 2Output: 34512 Explanation: Left rotating N(= 12345) by K(= 2) modifies N to 34512. Therefore, the required output is 34512 Input: N = 12345, K = -3Output: 34512 Explanation: Right rotating N(= 12345) by K( = -3) modifies N to 34512. Therefore, the required output is 34512 Approach: Follow the steps below to solve the problem: Initialize a variable, say X, to store the count of digits in N.Update K = (K + X) % X to reduce it to a case of left rotation.Remove the first K digits of N and append all the removed digits to the right of the digits of N.Finally, print the value of N. Below is the implementation of the above approach: Java // Java program to implement // the above approach import java.io.*; class GFG { // Function to find the count of // digits in N static int numberOfDigit(int N) { // Stores count of // digits in N int digit = 0; // Calculate the count // of digits in N while (N > 0) { // Update digit digit++; // Update N N /= 10; } return digit; } // Function to rotate the digits of N by K static void rotateNumberByK(int N, int K) { // Stores count of digits in N int X = numberOfDigit(N); // Update K so that only need to // handle left rotation K = ((K % X) + X) % X; // Stores first K digits of N int left_no = N / (int)(Math.pow(10, X - K)); // Remove first K digits of N N = N % (int)(Math.pow(10, X - K)); // Stores count of digits in left_no int left_digit = numberOfDigit(left_no); // Append left_no to the right of // digits of N N = (N * (int)(Math.pow(10, left_digit))) + left_no; System.out.println(N); } // Driver Code public static void main(String args[]) { int N = 12345, K = 7; // Function Call rotateNumberByK(N, K); } } Output: 34512 Time Complexity: O(log10N)Auxiliary Space: O(1) Please refer complete article on Rotate digits of a given number by K for more details! Comment More infoAdvertise with us Next Article Java Program to Rotate digits of a given number by K K kartik Follow Improve Article Tags : Java Mathematical Java Programs DSA number-digits rotation +2 More Practice Tags : JavaMathematical Similar Reads Java Program to Rotate bits of a number Bit Rotation: A rotation (or circular shift) is an operation similar to a shift except that the bits that fall off at one end are put back to the other end. In the left rotation, the bits that fall off at the left end are put back at the right end. In the right rotation, the bits that fall off at th 3 min read Java Program to Find Maximum value possible by rotating digits of a given number Given a positive integer N, the task is to find the maximum value among all the rotations of the digits of the integer N. Examples: Input: N = 657Output: 765Explanation: All rotations of 657 are {657, 576, 765}. The maximum value among all these rotations is 765. Input: N = 7092Output: 9270Explanati 2 min read Java Program to Generate all rotations of a number Given an integer n, the task is to generate all the left shift numbers possible. A left shift number is a number that is generated when all the digits of the number are shifted one position to the left and the digit at the first position is shifted to the last.Examples: Input: n = 123 Output: 231 31 2 min read Java Program for Smallest K digit number divisible by X Integers X and K are given. The task is to find the smallest K-digit number divisible by X. Examples: Input : X = 83, K = 5 Output : 10043 10040 is the smallest 5 digit number that is multiple of 83. Input : X = 5, K = 2 Output : 10 An efficient solution would be : Compute MIN : smallest K-digit num 2 min read Java Program to Count rotations divisible by 4 Given a large positive number as string, count all rotations of the given number which are divisible by 4. Examples: Input: 8 Output: 1 Input: 20 Output: 1 Rotation: 20 is divisible by 4 02 is not divisible by 4 Input : 13502 Output : 0 No rotation is divisible by 4 Input : 43292816 Output : 5 5 rot 3 min read Like