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