Novembro 9, 2007 • 9:46 am
Procurando por esse tema, encontrei esse PDF antigo do Wez Furlong. Então traduzi com ajuda do garotosopa! Que sempre me ajuda com minhas dúvidas em inglês (que são muitas, rs). :D
Alguns comentários no código não estão traduzidos, mas a idéia principal é ver a estrutura da extensão, e não o que ela faz, pois é apenas um exemplo.
Veja aqui: http://docs.google.com/Doc?id=ddvr877h_8cg5×9k
E pelo que vejo, não há material sobre isso na nossa linguagem. Até comecei com ajuda de vários, a tradução do livro da Sara Golemon, mas está parada… (São 20 capítulos)
E pra piorar, o livro dela só é encontrado no exterior. Que atualmente no Amazon está por $32.
Até a pŕoxima. :)
Arquivado como:PHP
Outubro 14, 2007 • 11:18 am
Para quem precisar fazer permutações de caracteres, eis o código:
#include <stdio.h>
#include <string.h>
static unsigned int size = 0;
void permute(char *word, const unsigned int offset) {
unsigned register int i;
char t;
if (offset == (size - 1)) {
for (i = 0; i < size; i++) {
printf("%c", *(word + i));
}
printf("\\n");
return;
}
t = *(word + offset);
for (i = offset; i < size; i++) {
*(word + offset) = *(word + i);
*(word + i) = t;
permute(word, offset + 1);
*(word + i) = *(word + offset);
}
*(word + offset) = t;
}
int main(int argc, char **argv) {
char *word;
if (argc < 2) return 0;
if ((word = strdup(*(argv + 1))) == NULL) return 0;
size = strlen(word);
printf("Permutando \\"%s\\":\\n", *(argv + 1));
permute(word, 0);
return 0;
}
Arquivado como:Programação
Outubro 8, 2007 • 10:29 pm
Arquivado como:Perl, Regex
Setembro 28, 2007 • 10:36 am
Arquivado como:C/C++, Programação
Para quem gosta de exercitar a criação de algoritmos, e o melhor, programando em sua linguagem preferida, gostará de conhecer o site http://www.spoj.pl ! Há inclusive competições entre brasileiros…
Arquivado como:Programação
Arquivado como:MySQL, Perl
O inventor parece ser Abigail, descobri na comunidade PerlMonks.
A ER é a seguinte: /^1?$|^(11+?)\1+$/
Para verificar se determinado número é primo, você tenta combinar o número que deseja em quantidade de 1.
Ou seja, se quero ver se 11 é primo, tento casar: 11111111111
Veja o teste:
re> /^1?$|^(11+?)\1+$/
data> 11111111111
No match
Quando não combina, quer dizer que ele é primo!
A explicação do padrão você encontra aqui!
Eu fiz o teste acima com pcretest, mas você pode usar a seguinte linha usando Perl:
perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/' [number]
Arquivado como:Perl, Regex