Red de conocimiento informático - Aprendizaje de programación - 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.

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.