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);
}
sexta-feira, 13 de novembro de 2009
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
{
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
Assinar:
Comentários (Atom)