Comment imprimer correctement les nombres premiers en Python : résoudre un problème de sortie impaire

Mary-Kate Olsen
Libérer: 2024-10-21 12:38:02
original
918 Les gens l'ont consulté

How to Correctly Print Prime Numbers in Python: Resolving an Issue with Odd Output

Impression de nombres premiers en Python

En tentant de répertorier les nombres premiers de 1 à 100, un utilisateur de Python a rencontré un problème où la sortie affiché des nombres impairs au lieu de nombres premiers. Pour résoudre ce problème, nous allons approfondir le problème et proposer une solution révisée.

Le code initial, comme indiqué ci-dessous, parcourt les nombres de 1 à 100, et pour chaque nombre, il vérifie s'il est divisible. par n'importe quel nombre de 2 à lui-même :

<code class="python">for num in range(1, 101):
    for i in range(2, num):
        if num % i == 0:
            break
        else:
            print(num)
            break</code>
Copier après la connexion

Le problème de cette approche réside dans les critères de terminaison de la boucle imbriquée. Une fois qu'un nombre s'avère divisible par un facteur i, la boucle interne est interrompue et l'instruction print(num) est exécutée. Cependant, la boucle externe commence alors à vérifier le même nombre avec la valeur suivante de i.

Pour résoudre ce problème, nous devons mettre à jour la boucle pour vérifier la divisibilité par tous les nombres de 2 à la racine carrée de num. Si aucun de ces diviseurs ne divise num, il s'agit probablement d'un nombre premier. Le code corrigé serait :

<code class="python">for num in range(2, 101):
    prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            prime = False
            break
    if prime:
        print(num)</code>
Copier après la connexion

Cette solution détecte efficacement les nombres premiers en vérifiant de manière itérative la divisibilité par des facteurs plus petits. En conséquence, la sortie affichera avec précision les nombres premiers de 1 à 100.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!