Python 中兩個數字形成的最大因子數
給定一個整數型別元素的陣列,任務是找到兩個數字相乘形成的最大因子數。首先,我們將計算陣列中存在的數字的乘積,就像計算叉積一樣;其次,我們將計算這些數字的因子,並在所有因子中檢查最大因子。
輸入
int arr[] = {3, 2, 10}輸出
Maximum factors formed by two numbers are: 8
解釋
計算內部叉積,即 3 * 2 = 6,3 * 10 = 30,2 * 10 = 20
現在計算 6 的因子 -> 1、2、3、6;30 -> 1、2、3、5、6、10、15、30;20 -> 1、2、4、5、10、20。
檢查具有最大因子數的數字,即 6 有 4 個因子,20 有 6 個因子,30 有 8 個因子。因此,兩個數字形成的最大因子數為 8。
輸入
int arr[] = {1, 4, 6}輸出
Maximum factors formed by two numbers are: 8
解釋
計算內部叉積,即 1 * 4 = 4,1 * 6 = 6,4 * 6 = 24
現在計算 4 的因子 -> 1、2、4;6 -> 1、2、3、6;24 -> 1、2、3、4、6、8、12、24。
檢查具有最大因子數的數字,即 4 有 3 個因子,6 有 4 個因子,24 有 8 個因子。因此,兩個數字形成的最大因子數為 8。
下面程式中使用的途徑如下
- 將整數元素輸入到陣列中
- 取臨時變數 multiple 和 big 來儲存最大值
- 從 0 開始迴圈 i 直到陣列的長度
- 在迴圈內,從 0 開始另一個迴圈 j 直到陣列的長度
- 檢查 a[i] 是否不等於 a[j],如果是,則將變數 multiple 設定為 a[i] * a[j],並檢查 big < countFactor(multiple),然後將 big 設定為 count Factor(multiple)
- 在 countFactor(multiple) 函式中
- 取臨時變數為 int c = 0
- 從 j 到 1 開始迴圈 for 直到 multiple 值
- 檢查 multiple % j 是否等於 0
- 然後將 c 加 1
- 檢查 multiple % j 是否等於 0
- 返回 c
- 在 countFactor(multiple) 函式中
- 列印 big 的值
示例
public class BiggestFactor{
public static void main(String[] args){
int a[]={3,2,10};
int multiple=1;
int big=1;
for(int i=0;i<a.length-1;i++){
for (int j = 0; j < a.length; j++){
if(a[i]!=a[j]){
multiple=a[i]*a[j];
if(big<countFactor(multiple))
big=countFactor(multiple);
}
}
}
System.out.println(“Maximum factors formed by two numbers are: ” +big);
}
private static int countFactor(int i){
int c=0;
for (int j = 1; j<=i; j++){
if(i%j==0){
c++;
}
}
return c;
}
}輸出
Maximum factors formed by two numbers are: 8
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP