Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define N 100
- void printArray(int array[], int n){
- int i;
- for(i=0; i<n; i++)
- printf("%d ",array[i]);
- printf("\n");
- }
- int isValid(int array[], int i, int count){
- int j;
- for(j=0; j<count; j++){
- if(array[j] == i){
- if(count-j-1== i){
- return 1;
- }else{
- return 0;
- }
- }
- }
- array[count] = i;
- return 1;
- }
- int sacarArreglo(int array[], int n, int count){
- if(count == n*2) return 1;
- int i;
- for(i=1; i<=n; i++){
- if(isValid(array,i,count)){
- array[count] = i;
- //printArray(array,count+1);
- if(sacarArreglo(array, n, count+1))
- return 1;
- }
- }
- return 0;
- }
- int main(){
- int n = 3;
- int array[N];
- if(sacarArreglo(array,n,0)){
- printf("Para n = %d\n",n);
- printArray(array,n*2);
- }else{
- printf("No se encontro solucion.");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment