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。
以下程序中使用的方法如下
在数组中输入整数元素
将临时变量乘以大并存储最大值
从0到数组长度开始循环i
在循环内部,从0到数组长度开始另一个循环j
检查a[i]是否不等于a[j],如果是,则使用a[i]*a[j]设置变量倍数,并检查big<countFactor(multiple),然后将big设置为countFactor(multiple)
将临时变量设为intc=0
从j到1直到多个值的启动循环
返回c
然后将c加1
检查多个%j=0
在countFactor(multiple)函数中
打印值大
示例
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