Decomposition en facteur de nombres premiers

Contenu du snippet

ce program a pour but de decomposer un nombre entier positif en produit de nombres premiers.pour le compiler ,utilisez turbo pascal.

Source / Exemple :


program decomposition;
var n,m,i:longint;
     k:shortint;
begin
  repeat 
  write(' Entrez un nombre entier supérieur à 2 (0/fin) : ');
  readln(n);
  if n>=2 then 
  begin
  m:=n;
  i:=2;
  k:=0;
  write('la décomposition de ',n,' est : ');
  while i <= sqrt(m) do
      if m mod i >0 then i:=i+1                     
                        else
                          begin
                           while m mod i =0 do 
                               begin
                                 k:=k+1;
                                 m:=m div i
                               end;
                           write('(',i,'^',k,')');
                           k:=0;
                           i:=i+1
                          end;
   if m <>1 then write('(',m,'^1)')
   end
     else write('WARNING!! LE NOMBRE DIOT ÊTRE >= A 2');
     writeln;    
     until n=0; 
end.

Conclusion :


Pour sortir de ce program entrez 0 comme nombre;
Ce n'est qu'un simple program , peut être ce qui n'est pas simple c'est la formule mathematique utilisée pour déduire les nombres premiers . pour votre connaissance un nombre 'n' est premier si il n'existe aucun entier naturel 'p' compris entre '2' et 'la racine de n' divise 'n'.
son avantage est surtout sa rapidité.
le resultat est affiché comme suit :
exemple le nombre 700 = (2^2)(5^2)(7^1)
bientôt, je vais essayer de déposer un program qui fait plusieurs calculs sur les nombres premiers.
Merci de me signaler les erreurs.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.