TRÈS RAPIDE PSEUDO CRIBLE ERATOSTÈNE NOMBRES PARFAIT

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 22 juil. 2004 à 14:44
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 3 mai 2006 à 00:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24782-tres-rapide-pseudo-crible-eratostene-nombres-parfait

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
3 mai 2006 à 00:03
je parlais de ça

"... domage que mon état ne me permetait pas de dire moins de conneries..."

pour le reste, j'ai plus touché au développement web depuis longtemps, et les histoires de normes, j'en ai trop bouffé à l'époque ;)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mai 2006 à 23:25
euh... pour ma dèrnière phrase, tu parles de quel post ?
http://www.phpcs.com/codes/CADRE-DEGRADE-SPAN-FILTRES-MSIE_13103.aspx

faire ce genre de class pour ça, ça pourrait faire évoluer les choses franchement... on pourrait pousser les users php à utiliser dans un premier temps des css bien plus poussées ce qui ferait des sites moins lourd au chargement, et ensuite, continuer sur une class de généralisation d'interfaces web 2.0.... nos classes seraient forcément portées en perl et en asp par d'autres webdevelopeurs... et ça pousserait l'éclatement des "normes persos", puis une validation progressive du w3c d'une norme globale...
nos codes seraient interprétés corectement par les navigateurs puisque choisis en fonction...
seul problème : nos codes ne seraient pas valies css...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
2 mai 2006 à 22:03
HS : hors sujet
Upper : reposter des commentaires sur un vieux code

Et les deux lignes non ansi, c'est de mon code de "random" qu'il s'agit.

Et je vois pas pourquoi ta dernière phrase, c'était cool, sans "mais" ^^.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mai 2006 à 21:47
HS ?

uppé ?

deux lignes non ainsi ? spécifique à un compilo payant ?

euh...

mon code marchait au moins avec cette ligne : gcc ma_merde.c

ça m'a fait plaisir de te voir aussi, domage que mon état ne me permetait pas de dire moins de conneries...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
2 mai 2006 à 21:42
ça change tout ça ... t'as uppé mon premier code ... deux lignes non ansi spécifiques à un compilo payant et même cher ... ouaip, ça changé :)

c'était vraiment cool de te rencontrer en tout cas, à l'année prochaine ^^.

PS: j'imagine que j'avais le droit de HS ;)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mai 2006 à 21:21
lol je ne le prend pas comme ça, surtout depuis le temps,

mais bon, si tu veux jouer aux déterrages, on peut s'amuser...
comme tu l'as vu, je me suis amélioré... et ce code ne sert plus à rien, d'ailleur, si qqn le supprimais, je ne penses pas que ça changerait qqch, les noobs ne cherchent pas souvent, et ont peu de chances de chercher ça, voir même de tomber dessus... donc voilà, pour être franc, je ne suis même pas certain d'en avoir une copie sur mon hd...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
2 mai 2006 à 21:03
"et puis t'as oublié le int devant main() ;) vala, vala"

mais quel emmerdeur :D
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
19 août 2004 à 15:18
fser, change la declaration du "n" en
unsigned long int *n;
puis apres les declaration (vu que c'est du c) faire
n=malloc(2000000*sizeof(unsigned long int));
Voili voilou.

(D'ailleurs c'est une erreur que j'ai souvent eu en telechargeant des sources).
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 juil. 2004 à 13:36
en fait, c'est la plus rapide tant que l'on reste avec des petits nombres... Si tu cherches des grands nombres, c'est effectivement miler rabin le plus performant, mais tu as fait une erreur, miler rabin ne s'aplique pas seulement aux nombres premiers de cette forme...
Miler Rabin est plus rapide si tu teste ça avec des nombres vraiment grands...
J'aimerais bien comprendre comment fonctionne ce test car j'ai un projet : cryptographie rsa... alors pour créer des clefs de 128 bits, je ne vais pas faire un crible...
Stepharcher Messages postés 117 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 8 septembre 2008
24 juil. 2004 à 01:54
fser > Enfin je te rassure, la crible d'ERATOSTENE ce n'est pas une manière très puissante de trouver des nombres premiers. Il y a un moyen rapide pour tester des grand nombre premier de la forme 2^n-1, c'est l'algorithme de Rabin-miller... Je vais faire une source sur ce site en GMP dans peu de temps pour l'illustrer...
fser Messages postés 74 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 23 avril 2005
23 juil. 2004 à 03:54
lol, moi il me renvoi une erreur windows a une adresse bidon, bref, impossible a exploiter.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 20:14
ah merci, je savais pas...
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 juil. 2004 à 20:13
oui, exactement
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
22 juil. 2004 à 20:12
le comment de djl c'est parce que tu utilises %d ds ton printf pr afficher un entier non signé, alors que tu dois utiliser %u. c tt
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 20:07
oups encore une erreur

#include <stdio.h>
int main()
{
unsigned long int n[2000000];
unsigned long int a, b;
for (a=0;a<2000000;a++)
n[a]=1;
for (a=2;a<1415;a++){
for (b=a*2;b<2000000;b+=a)
{
n[b]+=a;
}
if (n[a]==a){
printf("%d\t", a);
}
}
for (;a<2000000;a++){
if (n[a]==a){
printf("%d\t", a);
}
}
printf("\n");
}
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
22 juil. 2004 à 20:05
raaah, mais ça prend 1 seconde à changer, et tu as posté ce code longtemps après que je te l'aie dit sur msn. je te crie pas dessus, je comprends juste pas pq tu postes le code avant d'y avoir apporté ttes les optimisations que tu vois ds l'immédiat, surtout si c'est si court à changer. et puis t'as oublié le int devant main() ;) vala, vala
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 20:03
#include <stdio.h>
int main()
{
unsigned long int n[2000000];
unsigned long int a, b;
for (a=0;a<2000000;a++)
n[a]=1;
for (a=2;a<1415;a++){
for (b=a*2;b<1415;b+=a)
{
n[b]+=a;
}
if (n[a]==a){
printf("%d\t", a);
}
}
for (;a<1415;a++){
if (n[a]==a){
printf("%d\t", a);
}
}
printf("\n");
}
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 20:02
cher djl pourrais tu détailler ce commentaire qui me laisse muet comme une carpe...
Comprends pas...
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 juil. 2004 à 19:59
%u pour les non signés
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 19:59
attends kirua, je t'aime bien, mais laisse moi le temps... laissé, tu me l'as fait remarqué ce matin!
J'ai pas eu le temps de modifier ça, même chez moi!
Ce sera pour une prochaine version...
bientot
mais pas tout de suite
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
22 juil. 2004 à 19:56
pq tu as laissé a*a au lieu de mettre 1415 (racine de 2000000) ? ^ça fait qd même BCP de multiplications en moins, et ça ne coûte rien.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 juil. 2004 à 18:38
Voila, si tu mets des fichiers format unix dans un zip, pas de prob pour les win users:
http://www.cppfrance.com/code.aspx?ID=24790
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 15:27
disons que c'est la 3ème fois que ça m'arrive, avec ce changement de version, je pensais queça fonctionnerais, ety puis, un zip pour 20 lignes, ça me faisait vraiment chier...
voila le code en un peu plus clair (j'éspère)
#include <stdio.h>
main()
{
unsigned long int n[2000000];
unsigned long int a, b;
for (a=0;a*a<2000000;a++)
n[a]=1;
for (a=2;a*a<2000000;a++){
for (b=a*2;b<2000000;b+=a)
{
n[b]+=a;
}
if (n[a]==a){
printf("%d\t", a);
}
}
for (a=a;a<2000000;a++){
if (n[a]==a){
printf("%d\t", a);
}
}
printf("\n");
}
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 juil. 2004 à 15:16
Salut,

serait impec dans un zip et si les fichiers de code sont au format Unix encore mieux, je vais faire de ce pas un utilitaire de conversion.
neo_00110010101 Messages postés 360 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 30 mai 2006
22 juil. 2004 à 15:05
bizarre ... t'as beau le mettre en forme, ça devient ça ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 juil. 2004 à 14:44
non, c'est la troisième fois que ça me le fait !!!
J'en ai marre de konqueror...
Bon, dsl, prochaine fois je metrais un zip, même pour 20 lignes de code...
Rejoignez-nous