Pascal Nombre Premier

Fermé
Nour.Bac2012 - 9 févr. 2012 à 20:57
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 9 févr. 2012 à 21:14
Bonjour!(ou bonsoir!!)
Ca fait une heure que je galére sur Pascal,j'essaie d'écrire une procedure qui permet de trouver tout les nombres premiers entre 1 et 100 et de les classer dans un tableau. voila mon essai, mais ca ne marche pas ! Pouvez vous m'aider a trouver ce qui cloche??
procedure premier;
var i,j,r,n:integer;T:TAB;
begin
n:=0;
for i:=1 to 100 do
begin
for j:=1 to i do
begin
r:=0;
if (i mod j = 0) then r:=r+1;
if r=2 then T[n]:=i;
end;
end;
writeln(T[n]);
end;
A voir également:

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 févr. 2012 à 21:14
Salut.
Déjà, à un moment donnée, il faudrait que tu incrémente n.
ensuite, ta boucle sur j, tu peux la faire de 2 à i-1, comme ça tu évites de compter ce qui est évident, et dès que tu as un mod =0 tu sais que ton nombre est premier.
D'ailleurs tu peut optimiser en bouclant j uniquement jusqu'à sqrt(i).
0