Je prendrais une approche récursive simple, ici avec des caractères, mais vous pouvez construire vos numéros en utilisant d'autres moyens aussi ..
dans C:
#include <stdio.h>
void keystrokes(int x, int lo, int hi, char array[]) {
int i;
if (x > hi)
return;
if (x >= lo) {
array[x] = 0;
printf ("%s\n", array);
}
for (i = 2; i < 10; i++) {
array[x] = i+'0';
keystrokes (x+1, lo, hi, array);
}
}
int main(void)
{
char array[33];
keystrokes(0, 2, 32, array);
return 0;
}
il peut être optimisé un peu (par exemple, pour tous les numéros à 32 chiffres, il va encore faire 10 appels récursifs supplémentaires), mais il va encore prendre une éternité pour calculer toutes les combinaisons possibles.
ouais, je sais..mais j'ai besoin de le faire même si cela fonctionne pendant des jours .. :( –
http://www.google.com/search?q=8+%5E+32+%2A+ nanosecondes + en + ans –
@Pete Kirkham, cool, je ne savais pas que vous pouvez utiliser Google comme une calculatrice. – quinmars