Python 輸出指定範圍內的素數

2021-10-08 07:47:50 字數 1358 閱讀 1592

兩種方法比較其運算時間

#在這裡 python 輸出指定範圍內的素數

# 素數(prime number)又稱質數,有無限個。除了1和它本身以外不再被其他的除數整除。

# 以下例項可以輸出指定範圍內的素數:

#使用者輸入指定的數字範圍

a =int

(input

('輸入區間最小值:'))

b =int

(input

('輸入區間最大值:'))

import time

t1 = time.time(

)c =

count =

0for num in

range

(a,b+1)

:if num>1:

for i in

range(2

,num):if

(num%i)==0

:break

else

: count +=

1print

('(,)區間內的素數有個集合為'

.format

(a,b,c,count)

)t2 = time.time(

)print

('計算時間為:'

,t2-t1)插入**片

#使用到"開根號法"來節約時間複雜度

a =int

(input

('輸入區間最小值:'))

b =int

(input

('輸入區間最大值:'))

import time

import math

t1 = time.time(

)c =

count =

0for num in

range

(a,b+1)

:# 找到平方根,減少演算法時間

squre_num = math.floor(num**

0.5)

# 素數大於 1

if num>1:

for i in

range(2

,(squre_num+1)

):if(num%i)==0

:#將平方根加1是為了能取到平方根那個值

break

else

: count +=

1print

('(,)區間內的素數有個集合為'

.format

(a,b,c,count)

)t2 = time.time(

)print

('計算時間為:'

,t2-t1)

輸出指定範圍內的所有質數

以上程式輸出所有不大於999的質數,產生格式化輸出。程式採用篩選的思想對指定範圍內的所有正整數進行排除,最後得以 倖存 的全部都為質數。該演算法思想詳見維基百科sieve of eratosthenes相關條目。需要注意的是以上c 實現中的外層迴圈只用進行到sqrt upper 證明如下 假設存在乙...

使用函式輸出指定範圍內的Fibonacci數

本題要求實現乙個計算fibonacci數的簡單函式,並利用其實現另乙個函式,輸出兩正整數m和n 0函式介面定義 int fib int n void printfn int m,int n 其中函式fib須返回第n項fibonacci數 函式printfn要在一行中輸出給定範圍 m,n 內的所有fi...

使用函式輸出指定範圍內的完數

本題要求實現乙個計算整數因子和的簡單函式,並利用其實現另乙個函式,輸出兩正整數mm和nn 0函式介面定義 int factorsum int number void printpn int m,int n 其中函式factorsum須返回int number的因子和 函式printpn要逐行輸出給定...