查詢兩組數字的公因數個數的程式
假設我們有兩個陣列,名為nums1和nums2。我們必須找到滿足以下條件的值的個數:
nums1中的元素是正在選擇的元素的因數
所選擇的元素是nums2所有元素的因數
因此,如果輸入類似於nums1 = [3,9] nums2 = [27, 81],則輸出為2,因為數字為9和27,因為
9 mod 3 = 0
9 mod 9 = 0
27 mod 9 = 0
81 mod 9 = 0
27 mod 3 = 0
27 mod 9 = 0
27 mod 27 = 0
81 mod 27 = 0。
為了解決這個問題,我們將遵循以下步驟:
- count := 0
- 對於i從1到100,執行:
- flag := True
- 對於nums1中的每個j,執行:
- 如果i mod j不等於0,則
- flag := False
- 跳出迴圈
- 如果i mod j不等於0,則
- 如果flag為真,則
- 對於nums2中的每個k,執行:
- 如果k mod i不等於0,則
- flag := False
- 跳出迴圈
- 如果k mod i不等於0,則
- 對於nums2中的每個k,執行:
- 如果flag為真,則
- count := count + 1
- 返回count
示例
讓我們來看下面的實現以更好地理解
def solve(nums1, nums2):
count = 0
for i in range(1,101):
flag = True
for j in nums1:
if i%j != 0:
flag = False
break
if flag:
for k in nums2:
if k%i!=0:
flag = False
break
if flag:
count+=1
return count
nums1 = [3,9]
nums2 = [27, 81]
print(solve(nums1, nums2))輸入
[3,9], [27, 81]
輸出
1
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP