from time import clock import sys def Magic_Square(): try: InFile=open('in13_1.txt','r') OutFile=open('out_11_13_1.txt','w') start=clock() n,m=InFile.readline().split(",") n=int(n) m=int(m) ## START for n in range(n,m+1): Sum = n* ((n * n)+1)/2 if(n%2==0): matrix =[[0 for col in range(n)] for row in range(n)] if(n%4==0): i=1 for row in range(0,n): for col in range(0,n): matrix[row][col]=i i+=1 for rowcol in range(0,n/2): matrix[rowcol][rowcol],matrix[n-rowcol-1][n-rowcol-1]=matrix[n-rowcol-1][n-rowcol-1],matrix[rowcol][rowcol] for rowcol in range(0,n/2): matrix[n-rowcol-1][rowcol],matrix[rowcol][n-rowcol-1]=matrix[rowcol][n-rowcol-1],matrix[n-rowcol-1][rowcol] if(n==8): incmidval=n/2 decmidval=1 for rowcol in range(0,n/2): matrix[rowcol][incmidval],matrix[n-decmidval][incmidval-decmidval-rowcol]=matrix[n-decmidval][incmidval-decmidval-rowcol],matrix[rowcol][incmidval] incmidval+=1 decmidval+=1 incmidval=1 decmidval=n/2 for rowcol in range(n/2,n): matrix[n-incmidval][rowcol],matrix[incmidval-1][n/2-incmidval]=matrix[incmidval-1][n/2-incmidval],matrix[n-incmidval][rowcol] incmidval+=1 decmidval+=1 else: matrix =[[0 for col in range(n)] for row in range(n)] Middle=(n/2) currentRow=0 matrix[currentRow][Middle]=1 for i in range(2,(n*n)+1): top=(currentRow-1)%n right=(Middle+1) %n if(matrix[top][right]==0): matrix[top][right]=i else: top=(currentRow+1)%n right=(Middle) %n matrix[top][right]=i currentRow=top Middle=right OutFile.write("n= "+str(n)+ " Sum= "+str(Sum)+"\n") for i in range(0,n): for j in range(0,n): OutFile.write(str(matrix[i][j])+" ") OutFile.write(str("\n")) OutFile.write(str("\n")) else: matrix =[[0 for col in range(n)] for row in range(n)] Middle=(n/2) currentRow=0 matrix[currentRow][Middle]=1 for i in range(2,(n*n)+1): top=(currentRow-1)%n right=(Middle+1) %n if(matrix[top][right]==0): matrix[top][right]=i else: top=(currentRow+1)%n right=(Middle) %n matrix[top][right]=i currentRow=top Middle=right OutFile.write("n= "+str(n)+ " Sum= "+str(Sum)+"\n") for i in range(0,n): for j in range(0,n): OutFile.write(str(matrix[i][j])+" ") OutFile.write(str("\n")) OutFile.write(str("\n")) ## END OutFile.write("\nTotal Excution Time : "+str(clock()-start)) memUsed = sys.getsizeof(InFile) + sys.getsizeof(OutFile)+ sys.getsizeof(start)+ sys.getsizeof(matrix)+ sys.getsizeof(n)+ sys.getsizeof(m) OutFile.write("\nMemory used : "+str(memUsed)+" Bytes") InFile.close() OutFile.close() print "Check Your Output File : out_11_sec13_1.txt is Generated" except ValueError: print "Check Your Output File Cant Not Generated",ValueError InFile.close() OutFile.close() Magic_Square()