這題一開始繞不出來,以為只有一個解,運算式如下
Y^2=X+100
Z^2=X+100+168.......由於X+100=Y^2 ...所以可以寫成
Z^2=Y^2+168,所以當等式相等時就可以算出X
for y in range(1,50): for z in range(1,50): if (y**2+168==z**2): x=y**2-100 print (f'X= {x} ,Y= {y} , Z= {z}') #***************執行結果********************** X= -99 ,Y= 1 , Z= 13 X= 21 ,Y= 11 , Z= 17 X= 261 ,Y= 19 , Z= 23 X= 1581 ,Y= 41 , Z= 43 |
質因數分解,是將一個正整數寫成幾個因數的乘積。
例如: 45 = 3,3,5
比較單純的想法是
1. 找出能把 X 整除的數
2. 把整除後的商,當作下一個被除數,重複第一個步驟,直到被除數等於1 為止
temp=[] temp2=int(input('請輸入一個正整數 : ')) x=temp2 while True: if (x==1) : break for i in range(2,x+1,1): if (x%i==0): x=int(x/i) temp.append(i) break print(f'{temp2} 質因數分解 = {temp}') #***************執行結果********************** 請輸入一個正整數 : 90 90 質因數分解 = [2, 3, 3, 5] |
求質數,質數就是除了1和該數自身外,無法被其他自然數整除的數
所以只要統計被整除的次數,就可以判斷是否為質數(不包含1,只能被整除1次的數)
for index in range(2,10,1): temp=0 for x in range(2,index+1,1): if(index%x==0): temp=temp+1 if (temp<2 font="">2> print(index) #***************執行結果********************** 2 3 5 7 |