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设置为count Factor(multiple)

    • 将临时变量设为int c = 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