Solución del algoritmo antitipo de Python
Algoritmo de tipo inverso
El programa Python escrito de acuerdo con el problema es el siguiente (tenga en cuenta la sangría del código fuente, vea la imagen)
count= 1
x=50
y=50
m=int(input("Ingrese un número entero positivo: "))
para i en el rango( 1,m):
si m>=i*i y m<=(i+1)*(i+1):
N= i+1
break=[[0 para j en rango(N)] para i en rango(N)]
if N%2== 0:
n=int (N/2)
para i en el rango(n-1,-1,-1):
para j en el rango(N-i-2, i,-1):
a[i][j]=count
count+=1
para j en el rango(i,N-i):
a[j][i]=count
count+=1
k=N-i-1;
para j en el rango( i+1,N-i) :
a[k][j]=count
count+=1
para j en el rango(N-i-2,i -1,-1) :
a[j][k]=cuenta
cuenta+=1
más:
n =int(N/2 )+1
para i en el rango(n-1,-1,-1):
k=N-i-1;
para j en el rango (i+1,N-i):
a[k][j]=count
count+=1
para j en rango(N-i-2, i-1,-1):
a[j]=recuento
a[j][k]=recuento
cuenta+=1
para j en el rango(N-i-2,i,-1):
a[i][j]=cuenta
cuenta+= 1
para j en el rango(i,N-i):
a[j][i]=count
count+=1
para i en el rango( 0,N):
para j en el rango(0,N):
si a[i][j]<=m:
print( "%d(%d,%d)"%(a[i][j],y+(j-n+1)*50,x-(i -n+1)*50) ,end='')
de lo contrario:
print(f"%{N+5}s"%"",end='')
imprimir()