在 Python 中列印一系列素數
辨識素數是數學和程式設計中的基本概念。質數是大於 1 的整數,但不是兩個較小整數的乘積。以下 Python 程式碼旨在列印從 1 到 100 的一系列質數。
程式碼和問題
找出素數的一種常見方法是迭代數字從 2 到 n。對於每個數字,檢查它是否可以被 2 和它本身之間的任何數字(不包括 1)整除。如果它能被整除,那麼它就不是素數;
考慮以下程式碼,旨在列印1 到100 之間的質數:
<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>
但是,此程式碼遇到了列印奇數而不是質數的問題。出現該缺陷是因為外循環不僅迭代素數,還迭代合數(其他數字的倍數)。因此,對於像 9 這樣的奇數合數,if num % i != 0 的條件成立,導致所有奇數的列印錯誤。
解決方案和最佳化
為了修正這個問題,我們必須修改程式碼以明確檢查素數。這是修改後的版本:
<code class="python">for num in range(2, 101): # Start at 2 as 1 is not prime prime = True for i in range(2, num): if num % i == 0: prime = False if prime: print(num)</code>
在這段程式碼中,我們引入了一個布林變數 prime,最初設定為 True。然後,我們使用內部迴圈檢查 2 到 num-1(不包括 num)之間的每個數字。如果 num 可以被任意數字 i 整除,我們將 prime 設為 False,表示它不是質數。內循環結束後,如果 prime 仍然為 True,則列印 num。
此程式碼可準確辨識指定範圍內的質數。然而,它可以透過只檢查除數到 num 的平方根來進一步優化。這是因為任何大於平方根的因子都會有一個小於平方根的對應因子。
這是最佳化版本:
<code class="python">for num in range(2, 101): prime = True for i in range(2, int(math.sqrt(num)) + 1): if num % i == 0: prime = False if prime: print(num)</code>
透過使用這些調整,程式碼可以有效地列印1 到 100 之間的一系列質數。
以上是如何優化 Python 中的素數列印以獲得準確的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載
最受歡迎的的開源編輯器