sexta-feira, 13 de novembro de 2009

numero primo

 int aux(int n,int j, int i){
 if(j>n/2||i>1){
                 if(i==1)return 1;
                 else return 0;
               }
  else{
     if(n%j==0){  i=j;
                }
    
     return aux(n,j+1,i);
      }                  
                              }
                             
int primo(int x){//a função primo retorna  1 pra numeros primos e 0 pra compostos
    return aux(x,1,0);      
          
           }

segunda-feira, 9 de novembro de 2009

achar caminho em labirinto 2: entrada 3: saida 1 :caminho possivel 0: parede

int percorer(int x, int y, int matrix[][10])
{
if((x >= 0 && x < 10)&&(y >= 0 && y < 10))
{
if(matrix[x][y] == 3){printf("\n%d ,%d",x,y);return 1;}



if(matrix[x][y] == 0||matrix[x][y]>2){return 0;}
else{
matrix[x][y] = 0;

if(percorer(x + 1, y, matrix) == 1){
            
printf("\n %d ,%d",x,y);
return 1;}

if(percorer(x, y + 1, matrix) == 1){
printf("\n %d ,%d",x,y);
return 1;}

if(percorer(x - 1, y, matrix) == 1){
printf("\n %d ,%d",x,y);
return 1;}

if(percorer(x, y - 1, matrix) == 1){
printf("\n %d ,%d",x,y);
return 1;}

}}
else
return 0;
}


2000
1110
0010
0013