Red de conocimiento informático - Conocimiento de la instalación - Si busca una respuesta sobre programación, entre si es un experto en programación.

Si busca una respuesta sobre programación, entre si es un experto en programación.

Intenta usar la función de planificación y resolución de EXECL.

Olvídalo, no estoy familiarizado con EXECL, así que usaré programación para resolverlo.

El principio es muy simple, este grupo Hay 14 datos. Utilizo la matriz a para almacenarlos y luego configuro una matriz b con una longitud de 14. Los elementos de b son 0 o 1, lo que indica si el elemento correspondiente en a. En este caso, si b [0], b [2], b [5] es 1, significa que se toman los números 1, 3 y 6 en a. En este momento, use la función de cálculo para. calcule a[0]*b[0] a[1]*b[ 1]...a[13]*b[13], solo vea si el resultado es x

Por lo tanto, como. siempre que b esté agotado, deje que tome el valor de 0 y 1, eso es Sí.

Además, el programa debería estar bien. Elegí algunos números, lo probé y puedo calcular. resultado, pero el número que proporcionó no se puede calcular.

#includelt; stdio.hgt

#includelt;math.hgt;

#define RESPUESTA 1397320.30

doble a[ N]={16129.36, 1490.00, 116168.54, 136156.22, 357254.88, 3337.57, 300.00, 2683.16, , 379378,92, 14679,00, 756102,62, 15233840 16, 67828.90};

int b[N];

bool cálculo()

{

doble s=0;

for(int i=0; ilt; N; i)

s =a[i]*b[i]

if(fabs( s-ANSWER)lt;0.00001)

devuelve verdadero

devuelve falso

}

void f(int n)

{

if(ngt;=N)

p>

{

if(calcular())

{

for(int i=0;ilt;N;i)

if(b[i])

printf("f ",a[i]);

printf("\n");

}

}

si no(ngt ;=0)

{

b[n]=0

p>

f(n 1); >b[n]=1;

f(n 1);

}

}

void main()

{

f(0);

}