TRÈS RAPIDE PSEUDO CRIBLE ERATOSTÈNE NOMBRES PARFAIT
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
22 juil. 2004 à 14:44
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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.
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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és117Date d'inscriptionsamedi 12 avril 2003StatutMembreDerniè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és74Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention23 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 juil. 2004 à 20:14
ah merci, je savais pas...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 22 juil. 2004 à 20:13
oui, exactement
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 22 juil. 2004 à 19:59
%u pour les non signés
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 juil. 2004 à 18:38
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 22 juil. 2004 à 15:05
bizarre ... t'as beau le mettre en forme, ça devient ça ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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...
3 mai 2006 à 00:03
"... 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 ;)
2 mai 2006 à 23:25
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...
2 mai 2006 à 22:03
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" ^^.
2 mai 2006 à 21:47
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...
2 mai 2006 à 21:42
c'était vraiment cool de te rencontrer en tout cas, à l'année prochaine ^^.
PS: j'imagine que j'avais le droit de HS ;)
2 mai 2006 à 21:21
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...
2 mai 2006 à 21:03
mais quel emmerdeur :D
19 août 2004 à 15:18
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).
24 juil. 2004 à 13:36
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...
24 juil. 2004 à 01:54
23 juil. 2004 à 03:54
22 juil. 2004 à 20:14
22 juil. 2004 à 20:13
22 juil. 2004 à 20:12
22 juil. 2004 à 20:07
#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");
}
22 juil. 2004 à 20:05
22 juil. 2004 à 20:03
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");
}
22 juil. 2004 à 20:02
Comprends pas...
22 juil. 2004 à 19:59
22 juil. 2004 à 19:59
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
22 juil. 2004 à 19:56
22 juil. 2004 à 18:38
http://www.cppfrance.com/code.aspx?ID=24790
22 juil. 2004 à 15:27
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");
}
22 juil. 2004 à 15:16
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.
22 juil. 2004 à 15:05
22 juil. 2004 à 14:44
J'en ai marre de konqueror...
Bon, dsl, prochaine fois je metrais un zip, même pour 20 lignes de code...