Será possivel determinar se um número é primo, ou não, usando o bom e velho shell?
A resposta está no comando factor
A ideia é simples: se um número é primo ele possui apenas um único fator – ele mesmo. Basta detectar esses casos via awk (ou grep, sed, existem varias formas). Usei aqui o seq para gerar uma seqüência e o column para tabular os resultados.
A resposta está no comando factor
seq 1 250 | factor | awk -F \: '$1 == $2{ print $1}' | column -x
2       3       5       7       11      13      17      19      23      29
31      37      41      43      47      53      59      61      67      71
73      79      83      89      97      101     103     107     109     113
127     131     137     139     149     151     157     163     167     173
179     181     191     193     197     199     211     223     227     229
233     239     241A ideia é simples: se um número é primo ele possui apenas um único fator – ele mesmo. Basta detectar esses casos via awk (ou grep, sed, existem varias formas). Usei aqui o seq para gerar uma seqüência e o column para tabular os resultados.
Saca só, se pensarmos em 16 milhões de linhas, temos q pensar exatamente no que queremos. se for para encontrar as linhas exatas, talvez o grep seja mais rápido, porém acredito que vai ter muito acesso a disco.
Se separarmos os arquivos em partes, de acordo com os caracteres iniciais, acho que a pesquisa pode ficar bem mais rapida – se estiverem ordenados então vai q é um tapa.
Ou talvez seja o momento de pensar em algoritmos mais complexos :)