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
sexta-feira, 23 de outubro de 2009
contar letras
int conta(char *v,int i, int j, char letra){
if( i > j ) return 0;
else{
if(v[ i ]== letra)
return 1+conta( v , i+1 , j , letra);
else
return conta( v,i+1 ,j, letra);
}
}
if( i > j ) return 0;
else{
if(v[ i ]== letra)
return 1+conta( v , i+1 , j , letra);
else
return conta( v,i+1 ,j, letra);
}
}
inverter string
void inv( char *v,int i, int j){
if( i < j ){
char aux=v[ i ];
v[ i ]=v[ j ];
v[ j ]=aux;
inv(v, i+1, j-1);
}
}
if( i < j ){
char aux=v[ i ];
v[ i ]=v[ j ];
v[ j ]=aux;
inv(v, i+1, j-1);
}
}
palindromo
int palindromo (char * v, int i, int j ){
if(i >= j ) return 1;
else{
if(v[ i ] = = v[ j ])
return palindromo( v, i+1, j-1);
else
return 0; }}
if(i >= j ) return 1;
else{
if(v[ i ] = = v[ j ])
return palindromo( v, i+1, j-1);
else
return 0; }}
quarta-feira, 21 de outubro de 2009
somar digitos ex: 123 =6
int somadigitos( int n){
if(n == 0) return 0;
else
return (n % 10)+somadigitos( n /10);
}
if(n == 0) return 0;
else
return (n % 10)+somadigitos( n /10);
}
raiz quadrada
float raizquadrada(float x){
if(x>=1){return rma( 0, x , x ) ;}
else
if(x > = 0 & & x < 1 ) { return raux(0.999999, 0 ,x);}
else
{ return -1;}
}
if(x>=1){return rma( 0, x , x ) ;}
else
if(x > = 0 & & x < 1 ) { return raux(0.999999, 0 ,x);}
else
{ return -1;}
}
minimo multiplo comum
- int mmc2(int a,int b)
- {
- int div;
- if(b == 0) return a;
- else
- div = (a*b)/(mdc2(a,b));
- return (div);
- }
Assinar:
Comentários (Atom)