hx0011yy 发表于 2018-8-14 13:33:31

Python 基础练习 PAT水题(四)

import math  
N=int(input())
  
x=10001
  
for i in range(1,N+1):
  
    n1=min(i,int(N/i))
  
    m1=max(i,int(N/i))
  
    if m1-n1<=x and N % n1 ==0 and N % m1 ==0:
  
      x=m1-n1
  
      n=n1
  
      m=m1
  
L=list(str(input()).split(' '))
  
K=[]
  
for i in L:
  
    if i.isalnum()==True:
  
      K.append(int(i))
  
K.sort(reverse=True)
  
dx=
  
dy=
  
#   右 下 左 上
  
map=[ for i in range(m)]
  
t=d=x=y=0
  
while True:
  
    map=K
  
    t=t+1
  
    if t==N:
  
      break
  
    if x+dx >=m:
  
      d = (d + 1) % 4
  
    if y+dy >=n:
  
      d = (d + 1) % 4
  
    if map]] !=0:
  
      d = (d + 1) % 4
  
    x=x+dx
  
    y=y+dy
  
for i in map:
  
    p=0
  
    for j in i:
  
      if p!=0:
  
            print(' ',end='')
  
      print(j,end='')
  
      p = 1
  
    print()
页: [1]
查看完整版本: Python 基础练习 PAT水题(四)