IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Proportion de nombres premiers entre eux


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Proportion de nombres premiers entre eux
    Bonjour, je suis étudiante et j'ai un dm de math sur lequel je galère vraiment.
    Il faut que je crée un algorithme sur python qui permet de générer n couples de nombres entiers compris entre 1 et 1 000 000 000 et qui calcule la proportion de couples premiers entre eux.
    Voila merci pour votre aide.

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Qu'as-tu déjà fait ?
    Quelle est la difficulté ?

    À ta place, je tirerais n entiers entre 1 et 1 000 000 000, puis calculerais la décomposition en facteurs communs de chacun.
    Et les nombres qui n'ont pas de facteurs communs forment un couple d'entiers premiers entre eux.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Alors j'ai réussi à ce que python puisse générer deux nombres à et b au hasard seulement je ne sais pas comment traduire sur python qu'il faut qu'il fasse n fois cela. Je suis en seconde générale.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Fais une boucle.

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i in range(n):
        code()
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Proportion de nombres premiers entre eux
    Bonjour,

    Le dénombrement des couples d'entiers (a, b) premiers entre eux peut effectivement résulter d'une boucle simple, par un ensemble d'instructions apparentées à celles-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CONST Nmax = 1000000000; Nc = 10000;
    VAR a, b, k, m, Np: LongInt; r: Reel;
     
    Np:= 0; Randomize;
    FOR k:= 1 TO Nc DO 
      BEGIN
        m:= Random(Nmax); a:= m + 1;
        m:= Random(Nmax); b:= m + 1;   
        IF TestP(a, b) THEN Inc(Np)
      END;
    r:= Np / Nc;          // Rapport du nombre de couples d'entiers premiers entre eux au nombre total
    la fonction booléenne TestP(i, j) correspondant à un plus grand commun diviseur égal à l'unité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FUNCTION TestP(i, j: LongInt): Boolean;
      BEGIN
        TestP:= (Pgcd(i, j)=1)
      END;
    Il est sans doute possible d'accélérer l'exécution du programme en contournant le calcul du PGCD dans quelques cas évidents et relativement fréquents, par exemple par les instructions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    FUNCTION TestP(i, j: LongInt): Boolean;
      VAR Test, Test2, Test3: Boolean;
      BEGIN
        Test2:= ((i MOD 2 = 0) AND (j MOD 2=0));
        Test3:= ((i MOD 3 = 0) AND (j MOD 3=0));
        IF (Test2 OR Test3) THEN Test:= False
                            ELSE IF (Pgcd(i, j)>1) THEN Test:= False
                                                   ELSE Test:= True; 
        TestP:= Test
      END;


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. Nombres premiers entre eux (coprime)
    Par Jerome Briot dans le forum Téléchargez
    Réponses: 0
    Dernier message: 04/09/2009, 19h07
  2. Nombres premiers entre eux
    Par ramoucho75020 dans le forum Mathématiques
    Réponses: 19
    Dernier message: 20/04/2008, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo