Pascal Nombre Premier
Nour.Bac2012
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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;
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:
- Pascal Nombre Premier
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
1 réponse
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).
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).