Tous les forums
Crible de Mathiascevitch.cxx
27/11/2023 à 07h36
Moi aussi, super content de te relire. Je pense que ta date est en novembre 2153, tu as mal du lire.
Jusqu'a aujourshui pas encore attrappé le Covid. Au bout de 6 injection, on est peut etre reellement immunisé :-))
En tout cas, c'est tres bien pour eviter les formes graves.
27/11/2023 à 08h51
adhoc écrivait:
-----
> Moi aussi, super content de te relire. Je pense que ta date est en novembre
> 2153, tu as mal du lire.
> Jusqu'a aujourshui pas encore attrappé le Covid. Au bout de 6 injection, on est
> peut etre reellement immunisé :-))
> En tout cas, c'est tres bien pour eviter les formes graves.
Un Covid en plein 11 Nov 2023 , j’ai eu qq jours d’incertitude ....... ça pouvait finir dans le fossé. Heureusement j’ai fini les gros travaux la veille même. Merci à toi!
12/12/2023 à 05h30
Un et Sn étant des suites arithmétiques
L’ensemble P des nombres premiers est l’ensemble des X tel que pour a € Z* et n € N* on a :
P = { X = | (6a - 1) | } + { 2 , 3 } - { Un = X(6n + 1)} - { Sn = X(6n -1)}
12/12/2023 à 08h10
C'est super élégant. je pense qu'il faut mieux definir a , par exemple a est de la forme a---> a+1 a chaque itération. Intuitiverment , j'aurais ecrit aussi dans le domaine de définition: n >= 0 au lieu de n different de 0.
12/12/2023 à 08h25
J’ai fait une correction plus haut, regarde bien.
Je pense avoir raison ......tu devrais essayer de tester au crayon tu verras.
Je te laisse je vais voir mon dentiste :))))) .......A+
Je pense même qu’on pourrait simplifier les 2 suites en une seule !!!!!
{ X = | (6a - 1) | } donne TOUTE la série 5 7 11 13 17 19 etc etc.
{ Un = X(6n + 1)} et { Sn = X(6n -1)} donne TOUS les multiples de ces nombres.
A suivre donc.
Ciao!
12/12/2023 à 08h34
Oui je l'avais deja fait avec ton algo passé et c'etait bon. La, je vais en erffet repasser ta formule au crayon pendant mes vacances. Superbe. Tres classe.
12/12/2023 à 13h13
Finalement on peut faire encore plus court :
L’ensemble P des nombres premiers est l’ensemble des X tel que pour :
a € Z* et
n € Z* on a
P = { X = | (6a -1)| } + { 2 , 3 } - S={ Un = X × [ |(6n - 1)| ]}
Avec Un étant une suite arithmétique
La formulation mathématique n’est pas carrée mais juste et vérifiée sur un site scientifique
23/12/2023 à 14h33
Le programme ci dessous marche mais j’ai un pb de mémoire à priori . Il m’affiche "Segmentation Fault" si j’entre une valeur au dessus de 45001 environ.
Assez simple finalement, c’est une base de travail :)))
Compilateur c :
https://play.google.com/store/apps/details?id=ru.iiec.cxxdroid
#include stdio.h mettre des < >
#include stdlib.h
#include math.h
#include conio.h
#include time.h
#include new
int main(int argc, char *argv[])
{
int x, compteur=0;
printf(" Nombres premiers entre [5....x] , entrez une valeur pour x : ");
scanf(" %d", &x);
const int val = x;
bool * T = new bool [val];
for(int i=6; i<=x; i = i+6)
{
for(int j = i -1 ; (i-1)*j<=x; j = j+6)
{
T[(i-1)*j] = 1;
if ( (i+1)*j <= x )
{
T[(i+1)*j] = 1;
}
}
for(int j = i+1 ; (i-1)*j<=x; j = j+6)
{
T[(i-1)*j] = 1 ;
if ( (i+1)*j <= x )
{
T[(i+1)*j] = 1;
}
}
}
for(int i=6; i<=x; i = i+6)
{
if (T[i-1]== 0)
{
printf("\n % d est premier", i-1);
compteur++;
}
if (T[i+1]== 0)
{
printf("\n %d est premier", i+1);
compteur++;
}
}
}
24/12/2023 à 15h58
Bonne Année mon vieil adhoc !!!!
#include stdio.h
#include stdlib.h
#include time.h
#include new
int main(int argc, char *argv[])
{
int x,val,test,sortie,comptageNP=0;
printf(" Nombres P entre [5....x[ ,entrez une valeur pour x ");
scanf("%d", &val);
bool * Tableau = new bool [val];
printf(" \n\n\n");
time_t debut = time(NULL);
x = val - (val % 6);
for ( int i = 6; i <=x; i= i+6)
{
int a = i - 1;
int b = i + 1;
for(int i=6; a*(i-1)<=x; i = i+6)
{
if (a*(i-1) <= x)
{
Tableau[a*(i-1)]=1;
}
if( a*(i+1) <=x)
{
Tableau[a*(i+1)] =1;
}
if( b*(i+1) <=x)
{
Tableau[b*(i+1)] =1;
}
if( b*(i+5) <=x)
{
Tableau[b*(i+5)] =1;
}
}
}
for ( int i= 6; i<=x; i= i+6)
{
if (Tableau[i-1] ==0)
{
comptageNP++;
}
if (Tableau[i+1] ==0)
{
comptageNP++;
}
}
time_t fin = time(NULL);
printf (" \n\n Temps de recherche : %d secondes %d nombres premiers trouvés sur une recherche de 5 à %d", fin- debut,comptageNP,val);
boucle:
system("cls");
printf("\n\n\n tester la primalité d’un nombre ou entrez 0 pour sortir : ");
scanf("%d", &test);
system("cls");
if (test == 0)
{
delete [] Tableau;
return (1);
}
else if ( test == 2 || test ==3 )
{
printf("\n le nombre %d est premier",test);
goto boucle;
}
else if (test % 2 ==0 || test % 3 ==0 || Tableau[test]==1)
{
printf("\n le nombre %d est composé",test);
goto boucle;
}
else
{
printf (" le nombre %d est premier",test);
goto boucle;
}
}