HomeLanguagesPython program to right rotate n-numbers by 1

Python program to right rotate n-numbers by 1

Given a number n. The task is to print n-integers n-times (starting from 1) and right rotate the integers by after each iteration.
Examples: 
 

Input: 6
Output :
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5

Input : 3
Output :
1 2 3 
2 3 1 
3 1 2

Method 1:

Below is the implementation.
 

Python3




def print_pattern(n):
    for i in range(1, n+1, 1):
        for j in range(1, n+1, 1):
            # check that if index i is
            # equal to j
            if i == j:
 
                print(j, end=" ")
                # if index i is less than j
                if i <= j:
 
                    for k in range(j+1, n+1, 1):
                        print(k, end=" ")
 
                for p in range(1, j, 1):
                    print(p, end=" ")
 
        # print new line
        print()
 
 
# Driver's code
print_pattern(3)


Output

1 2 3 
2 3 1 
3 1 2 

Method  2: Using pop(),append() and loops

Python3




def print_pattern(n):
    x = []
    for i in range(1, n+1):
        x.append(i)
        print(i, end=" ")
    print()
    j = 0
    while(j < n-1):
        a = x[0]
        x.pop(0)
        x.append(a)
        for k in x:
            print(k, end=" ")
        print()
        j += 1
 
 
print_pattern(6)


Output

1 2 3 4 5 6 
2 3 4 5 6 1 
3 4 5 6 1 2 
4 5 6 1 2 3 
5 6 1 2 3 4 
6 1 2 3 4 5 

Using modulus operator: In this approach, we are using the modulus operator and adding i to the loop variable j to get the current number in each iteration. The time complexity of this approach is O(n^2) as it requires two nested loops. The space complexity is O(1) as we are only using a few variables and not using any extra data structures.
 

Python3




def print_pattern(n):
    for i in range(n):
        for j in range(n):
            print((j+i)%n+1, end=" ")
        print()
 
# Driver's code
print_pattern(6)
#This code is contributed by Edula Vinay Kumar Reddy


Output

1 2 3 4 5 6 
2 3 4 5 6 1 
3 4 5 6 1 2 
4 5 6 1 2 3 
5 6 1 2 3 4 
6 1 2 3 4 5 
Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32533 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6913 POSTS0 COMMENTS
Nicole Veronica
12029 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12132 POSTS0 COMMENTS
Shaida Kate Naidoo
7043 POSTS0 COMMENTS
Ted Musemwa
7280 POSTS0 COMMENTS
Thapelo Manthata
7000 POSTS0 COMMENTS
Umr Jansen
6986 POSTS0 COMMENTS