quelques nombres premiers
tout le monde en parle sans jamais trop les connaitre alors je vais mettre en ligne un petit programme en Scilab très simple et rapide qui permet de les exhiber sans trop de difficulté.
attention ce programme n'est absolument pas optimisé en temps et en mémoire.
function premier(M)
//elimine tous les multiples de tous les nombres premiers entre 1 et M
//c'est la fonction a lancer sur Scilab
K=[2:M];
for i=[1:M]
//fait le crible
if K(i)>0 then
//verifie que l'on choisit bien un nombre premier
for j=[2*i+1:i+1:M+1]
//elemine tous les multiples
K(j)=0;
end
end
end
(comprime(K,M))
endfunction
function comprime(M,n)
//M est la matrice a comprimer, et n sa taille,
// la boucle crée le fichier premier.txt et y met tous les nombres premiers
fd=mopen("nombre.txt","w")
z=1;
for i=[1:n]
if(M(i)>0) then
mfprintf(fd,"%dn" ,M(i));
z=z+1;
end
end
close(fd)
endfunction
attention ce programme n'est absolument pas optimisé en temps et en mémoire.
function premier(M)
//elimine tous les multiples de tous les nombres premiers entre 1 et M
//c'est la fonction a lancer sur Scilab
K=[2:M];
for i=[1:M]
//fait le crible
if K(i)>0 then
//verifie que l'on choisit bien un nombre premier
for j=[2*i+1:i+1:M+1]
//elemine tous les multiples
K(j)=0;
end
end
end
(comprime(K,M))
endfunction
function comprime(M,n)
//M est la matrice a comprimer, et n sa taille,
// la boucle crée le fichier premier.txt et y met tous les nombres premiers
fd=mopen("nombre.txt","w")
z=1;
for i=[1:n]
if(M(i)>0) then
mfprintf(fd,"%dn" ,M(i));
z=z+1;
end
end
close(fd)
endfunction
Publicité