練習題目內容和要求如下:
(一) 概述:對10個10~100隨機整數進行因數分解。
(二) 程式設計要求:
產生乙個隨機數列表,a[n](包含10個10~100之間的隨機數,其中,每個隨機數均為「整數」且「不重複」)
對a[n]中每個元素進行因數分解,將分解結果輸出到b[n]中,其中b[i]為a[i]的分解結果的列表(例如:a[2]45,則b[2][3,3,5])
顯示a[n],b[n]兩個列表(要求,a[i]與b[i]顯示在同1行,a[i]與b[i]之間用「=」分隔,b[i]內部各元素之間用「」分隔。例如:「45=33*5」)
**:
import random
defrandom_num
(n,s)
:#生成10個不同的10~100的隨機正整數
data=random.sample(
range(10
,s),n)
return data
deffactors
(num)
: i=
2 t=
while
(i:if num%i==0:
num=num/i#若num能本i整除,則更新num,尋找其他因數,i重新從2開始增加
i=2else
: i=i+
1round
(num))if
len(t)==1
:#若num為素數,則它的因數是它本身及11)
return t
defmain()
: n,s=
eval
(input
("請輸入隨機整數數量與上限(用逗號隔開):"))
#控制變數n,s分別代表隨機整數的數量、最大範圍
a=random_num(n,s)
b=#用來儲存a中元素的因數分解結果,為巢狀列表
for k in a:
temp=factors(k)
temp=
for num,fac in
zip(a,b)
:print
(str
(num)
+'='
+'*'
.join(
map(
str,fac)))
main(
)
mysql 隨機函式生成某個範圍內的整數
mysql中隨機生成一些範圍內的整數有時候是很有用的,用到了2個函式 1 floor f 返回乙個不大於f的最大整數 2 rand rand n 返回乙個隨機浮點值 v 範圍在 0 到1 之間 即,其範圍為 0 v 1.0 若已指定乙個整數引數 n 則它被用作種子值,用來產生重複序列。若要在i r ...
mysql 隨機函式生成某個範圍內的整數
根據官方文件,rand 的取值範圍為 0,1 若要在i r j 這個範圍得到乙個隨機整數r 需要用到表示式floor i rand j i 1 例如,若要在7 到 12 的範圍 包括7和12 內得到乙個隨機整數,可使用以下語句 select floor 7 rand 6 用到了2個函式 1 floo...
JS生成隨機整數
用js的隨機數生成函式random 配合其他數學函式可以限制隨機數的取值。math.random 結果為0 1間的乙個隨機數 包括0,不包括1 math.floor num 引數num為乙個數值,函式結果為num的整數部分。math.ceil n 返回大於等於n的最小整數。math.round nu...