隨機生成10 100內的整數,並進行因數分解

2021-10-05 07:04:19 字數 1184 閱讀 3469

練習題目內容和要求如下:

(一) 概述:對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...