طلب nombre premier pascal

wajdi_23

عضو فعال
إنضم
15 نوفمبر 2009
المشاركات
354
مستوى التفاعل
18
écrire un programme qui affiche tous les nombres premiers entre 5 et 100 comment faire les amis
 

vamos akram

عضو
إنضم
6 أوت 2010
المشاركات
966
مستوى التفاعل
2.010
écrire un programme qui affiche tous les nombres premiers entre 5 et 100 comment faire les amis

un nombre est considérer premier s'il est divisible par 1 ou par lui même;
tu dois jouer sur cette condition par voir si ce le nombre est divisible par chacun des chiffres et des nombres a partir de 2 jusqu’à ce nombre - 1 en utilisant deux boucles pour;
poser votre essaie puis je te donne la corrigée
 

fawzi10

عضو
إنضم
7 فيفري 2010
المشاركات
1.290
مستوى التفاعل
636
pour i :=1 to n do
si n mod 2 = 0
alors premier := vrai
si non
n=n+1 mod2
 

crytex

مراقب سابق
إنضم
5 أوت 2009
المشاركات
14.234
مستوى التفاعل
25.233
كود:
function premier(x:integer):boolean;
var i:integer;
begin
i:=1;
repeat
i:=i+1;
until (i>=sqrt(x)) or (x mod i =0);
premier:=i>sqrt(x);
end;
Chaque fois on incrémente le compteur i par 1 jusqu'a trouver un diviseur de n différent de 1 et de lui même
ou si i>=racine de n car un entier n'a pas de diviseur au delà de sa racine

 

Kira1993

عضو فعال
إنضم
5 ديسمبر 2009
المشاركات
355
مستوى التفاعل
280
كود:
program test ;
uses wincrt;
var j:integer;
  


function premier(n:integer):boolean ;
var i:integer;
    r:boolean ;
begin

 r:=false;
 i:=1;
 repeat
  i:=i+1;
  r:= (n mod i =0);
 until ((i=n-1)or(r)) ;

premier:=not(r)or(n=2);
end; 

BEGIN
for j:=2 to 100 do
if (premier(j)) then
  write(j,'/');
END.
 

Kira1993

عضو فعال
إنضم
5 ديسمبر 2009
المشاركات
355
مستوى التفاعل
280
كود:
function premier(x:integer):boolean;
var i:integer;
begin
i:=1;
repeat
i:=i+1;
until (i>=sqrt(x)) or (x mod i =0);
premier:=i>sqrt(x);
end;
Chaque fois on incrémente le compteur i par 1 jusqu'a trouver un diviseur de n différent de 1 et de lui même
ou si i>=racine de n car un entier n'a pas de diviseur au delà de sa racine

oui c'est vrai on peut s’arrêter à sqrt(n
 

roonie007

عضو نشيط
إنضم
20 ماي 2008
المشاركات
163
مستوى التفاعل
65
voila mon frere un tous petit program qui resolue ton problem

program aaaa ;
uses wincrt ;
var i : integer ;
begin
for i:=5 to 100 do
if (i mod 2 <> 0) and (i mod 3 <> 0) and (i mod 5 <> 0) then
write (i,' ') ;
end.

bon courage
 

Toиy Alva

عضو مميز
إنضم
3 أفريل 2010
المشاركات
690
مستوى التفاعل
205
كود:
x:=0;
pour i de 1 à n faire 
  si i mod 2 = 0 alor 
  x := x +1  
fin pour 
ecrire(x = 2)
on a compté les diviseurs de n (le compteur 'x') et si ils sont égales à 2 alors c'est un nombre premier. Bonne révision.
 
أعلى