Red de conocimiento informático - Conocimientos de programación - Programación de algoritmos: implementada en lenguaje c

Programación de algoritmos: implementada en lenguaje c

Para resolver este tipo de problema, puede utilizar el algoritmo de retroceso. El código es el siguiente: #include?

#include?

# define?M?6//?Número de números candidatos

#define?N?5//?Número de dígitos después de la combinación

int? check(int?resultado[], ?int?i)

{

for?(int?j?=?0;?j?

si? (resultado[j]?==?i)

retorno?0;

retorno?1;

}

int? lista(int?números[],?int?l,?int?resultado[],?int?count)

{

si? (l?>=?N) ?{

//?Combina los dígitos en un solo número

int?num?=?0;

for? (int?i?=?0 ;?i?

num?=?num?*?10?+?números[resultado[i]];

}

//?Determinar si este número es divisible por ?75?

if?(num?%?75?==?0)?{

printf( "%d\n",?num);

count++;

}

return?count;

}

¿para?(int?i?=?0;?i?

si?(!check(resultado, ?i))?{

continuar;

}

resultado[l]?=?i;

contar?=? lista(números,?l?+ ?1,?resultado,?recuento);

resultado[l]?=?-1;

}

return?count;

}

int?main()?

{

int?números[M]?=?{ ?1,?2,?5 ,?7,?8,?9?};

int?resultado[N]?=?{?-1,?-1,?-1,? -1,?-1?} ;

int?count?=?list(números,?0,?resultado,?0);

printf("***Hay son %d\n",? recuento);

sistema("pausa");

retorno?0;

}

Resultado de ejecución: