#include <stdio.h>
#include <stdlib.h>
void rightRotatebyOne(int arr[], int n);
void rightRotate(int arr[], int d, int n);
void printArray(int arr[], int size);
int main()
{
int arr[] = {1, 2, 3};
rightRotate(arr, 2, 3);
printArray(arr, 3);
return 0;
}
void rightRotate(int arr[], int d, int n)
{
int i;
for (i = 0; i < d; i++)
rightRotatebyOne(arr, n);
}
void rightRotatebyOne(int arr[], int n)
{
int i, temp;
temp = arr[2];
for (i = 2; i > 0; i--){
arr[i] = arr[i-1];
}
arr[0] = temp;
}
/* utility function to print an array */
void printArray(int arr[], int size)
{
int i;
for(i = 0; i < size; i++)
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgcmlnaHRSb3RhdGVieU9uZShpbnQgYXJyW10sIGludCBuKTsKdm9pZCByaWdodFJvdGF0ZShpbnQgYXJyW10sIGludCBkLCBpbnQgbik7CnZvaWQgcHJpbnRBcnJheShpbnQgYXJyW10sIGludCBzaXplKTsKCmludCBtYWluKCkKewogICBpbnQgYXJyW10gPSB7MSwgMiwgM307CiAgIHJpZ2h0Um90YXRlKGFyciwgMiwgMyk7CiAgIHByaW50QXJyYXkoYXJyLCAzKTsKCiAgIHJldHVybiAwOwp9Cgp2b2lkIHJpZ2h0Um90YXRlKGludCBhcnJbXSwgaW50IGQsIGludCBuKQp7CiAgaW50IGk7CiAgZm9yIChpID0gMDsgaSA8IGQ7IGkrKykKICAgIHJpZ2h0Um90YXRlYnlPbmUoYXJyLCBuKTsKfQoKdm9pZCByaWdodFJvdGF0ZWJ5T25lKGludCBhcnJbXSwgaW50IG4pCnsKICBpbnQgaSwgdGVtcDsKICB0ZW1wID0gYXJyWzJdOwogIGZvciAoaSA9IDI7IGkgPiAwOyBpLS0pewogICAgIGFycltpXSA9IGFycltpLTFdOwogICAgIH0KYXJyWzBdID0gdGVtcDsKfQoKLyogdXRpbGl0eSBmdW5jdGlvbiB0byBwcmludCBhbiBhcnJheSAqLwp2b2lkIHByaW50QXJyYXkoaW50IGFycltdLCBpbnQgc2l6ZSkKewogIGludCBpOwogIGZvcihpID0gMDsgaSA8IHNpemU7IGkrKykKICAgIHByaW50ZigiJWQgIiwgYXJyW2ldKTsKfQ==