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() p>
{
f(0);
}