Pregunta de MATLAB: Coloque los 13 números enteros del 1 al 13 en las esquinas del copo de nieve y requiera que la suma de cada cuadrilátero sea igual.
clc;
borrar todo;
tic
a = 1:13;
A = []; sum1 = []; n = [];
num_t = size(a, 2) - 1;
Permutación y combinación de 13 elementos Tome 12 de 12. En teoría, A13 en el medio no necesita participar en el cálculo, siempre que obtenga el número de A2-A12.
temp = combnk(a, num_t);
para k = 1: tamaño(temp, 1)
n = [n; permanentes(k,:))];
fin
A = n;
Selecciona la suma que necesitamos y los valores de A1-A12
num = tamaño (A); p>
suma1 = ceros (num(1) , num (2)/2);
para i = 1: num (1)
b = A (i ,:);
para j = 1: 2: num (2) - 1
si j == num (2) - 1
suma ( (j 1)/2) = b (j) b (j 1) b (1);
suma1(i, (j 1)/2) = suma ((j 1)/2)
else
suma ((j 1)/2) = b (j) b (j 1) b
suma1(); i, (j 1)/2) = suma (( j 1)/2);
fin
fin
bandera = 0; >
num1 = tamaño (suma);
p>
para k = 1: num1(2) - 1
si suma (k) == suma ( k 1)
bandera = k 1;
else
romper
fin
fin
p>if flag == num1(2)
fprintf ('La suma de los d elementos de la matriz d, d, d, d, d, d son iguales, A2, A3, A4, ...Los valores de A10, A1 son d, d, d, d, d, d respectivamente ,d,d,d,d,d,d\n',i,sum,A (i,:))
end
end
toc
Mis sugerencias personales:
1. computadora que es más poderosa, porque es fácil quedarse sin memoria y los cálculos máximos de mi computadora solo se pueden calcular en este caso 1-11, no hay error después de la prueba.
Pero 1-13 realmente no se puede ejecutar;
2. Mi programa calcula la situación de A1-A12. De hecho, A13 no participa en la operación, así que al final solo lo necesito. para reemplazarlo con los números restantes
3. Si tienes alguna pregunta, puedes continuar respondiéndola.