¿Qué aprenden los niños de la programación del Cubo de Rubik?
#Contiene amplt; stdio.h ampgt
#Definición número 16
int main()
{
int a[N][N]={0}, I, j, k, p, N
p = 1
mientras(p; ==1)
{
printf("Ingrese n(1~d): ", N
scanf("d ", ampn) ;
si ((n!= 0) amp; amp(n amplt;n) amp; amp(n2!=0))
p = 0;
}
I = n 1;
j = n/2 1;
a[1][j]= 1; >
for(k = 2; k amplt; = n * nk)
{
I = I-1;
j = j 1 ;
si ((iamplt;1); amp(J&J;gt;n))
{
I = I 2;
j = j-1;
}
Otro
{
Si (iamplt;1)I = n ;
Si (j ampgt; n) j = 1;
}
Si (a amplt; i ampgt; a amplt; i ampgt; [j ]= k;
Otro
{
I = I 2;
j = j-1;
a amplt;iampgt;[j]= k;
}
}
for(I = 1;iamplt;= n;i )
{
for(j = 1; Johnson & Johnson.lt; = n;j)
printf("4d",a amplt;i ampgt ;[j ]);
printf(" \ n ");
}
Devuelve 0;
}
Datos extendidos:
1. El valor de la columna del medio de la primera fila es 1.
Entonces use j=n/2 1 para determinar el número de columnas de 1, y obtenga a. [1][j]=1.
2. El número de filas almacenadas en cada número es 1 menor que el número de filas del número anterior. El número de filas es 1. El número está determinado por i=i-1 y el número de columnas está determinado por j=j 1.
3. Si una fila de conteo es la primera fila, la siguiente fila de conteo es la última fila.
4. Si el número de filas de una columna es la última columna, entonces el número de filas de la siguiente serie es la primera columna.
5. Si hay un número en la posición determinada según las reglas anteriores, o el número anterior es la última columna de la primera fila, coloque el siguiente número debajo del número anterior.