當前位置:編程學習大全網 - 網站源碼 - python回型算法求解

python回型算法求解

回型算法

按照題目要求編寫的Python程序如下(註意源代碼的縮進,見圖)

count=1

x=50

y=50

m=int(input("請輸入壹個正整數:"))

for i in range(1,m):

if m>=i*i and m<=(i+1)*(i+1):

N=i+1

break

a=[[0 for j in range(N)] for i in range(N)]

if N%2==0:

n=int(N/2)

for i in range(n-1,-1,-1):

for j in range(N-i-2,i,-1):

a[i][j]=count

count+=1

for j in range(i,N-i):

a[j][i]=count

count+=1

k=N-i-1;

for j in range(i+1,N-i):

a[k][j]=count

count+=1

for j in range(N-i-2,i-1,-1):

a[j][k]=count

count+=1

else:

n=int(N/2)+1

for i in range(n-1,-1,-1):

k=N-i-1;

for j in range(i+1,N-i):

a[k][j]=count

count+=1

for j in range(N-i-2,i-1,-1):

a[j][k]=count

count+=1

for j in range(N-i-2,i,-1):

a[i][j]=count

count+=1

for j in range(i,N-i):

a[j][i]=count

count+=1

for i in range(0,N):

for j in range(0,N):

if a[i][j]<=m:

print("%d(%d,%d) "%(a[i][j],y+(j-n+1)*50,x-(i-n+1)*50),end='')

else:

print(f"%{N+5}s"%" ",end='')

print()

  • 上一篇:OSTimeDlyHMSM() 源代碼是什麽?
  • 下一篇:如何在Ubuntu下配置Android開發環境
  • copyright 2024編程學習大全網