java - Java 数组质因数分解

标签 java arrays prime-factoring

我必须编写一个代码,来查找给定数字的质因数分解。代码必须返回一个二维数组,其中第一行是数字,第二行是幂。我不知道如何将结果保存在这个数组中。

public static long[][] primeFactorization(long l) {
    //n = 6600 = 2^3*3^1*5^2*11^1
    // z[0][4] = 2|3|5|11 - coefficient
    // z[1][4] = 3|1|2|1  - power
    int count = 0;
    int i=2;
    long[][] x = new long[2][];
    while(l%2==0) { 
        l=l/2; 
        count++; //power   8 = 2.2.2 => count = 3
     }
     i++;
     //ToDo: save i=2 in array[0][] = {2,...};
     for (i = 3; i <= Math.sqrt(l); i = i+2) { 
     // While i divides l, print i and divide l 
         while (l%i == 0) { 
                int temp = i; //ToDo: save the divider in array[0][]
                count++; //ToDo: save the power in array[1][]
                l = l/i; 
                i = temp;
            } 
        } 
    return x;
}

最佳答案

下面的内容没有按预期工作,但符合您正在寻找的内容的正确方向。您缺少填充数组部分,可以按如下方式完成。我知道下面的代码有一些问题,可以通过研究来修复。但它绝对会给你一个方向。如果您仍然遇到问题,请告诉我们。

    public static long[][] primeFactorization(long l) {
    //n = 6600 = 2^3*3^1*5^2*11^1
    // z[0][4] = 2|3|5|11 - coefficient
    // z[1][4] = 3|1|2|1  - power
    int count = 0;
    int i=2;
    long[][] x = new long[2][10];
    while(l%2==0) {
        l=l/2;
        count++; //power   8 = 2.2.2 => count = 3
    }
    x[0][0]=2;
    x[1][0]=count;
    //ToDo: save i=2 in array[0][] = {2,...};
    int row=0;
    int col=1;
    for (i = 3; i <= l; i = i+2) {
        count=0; //setting count to zero for every divisor
        // While i divides l, print i and divide l
        while (l%i == 0) {
            count++; //ToDo: save the power in array[1][]
            l = l/i;
        }
        x[row][col]=i;
        x[row+1][col]=count;
        col++;
    }
    return x;
}

关于java - Java 数组质因数分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53178459/

相关文章:

java - 了解我的素数计算和素数 JFrame 发生了什么

java - 我不明白 eclipse 上 android 的 file.exists() 会发生什么

java - 有没有像ListHashMap这样的数据结构?

Collection<Foo>[] 是必要和/或有效的 Java 语法场景

java - 寻找一个好的 Java ODE 求解器

java - 如何比较多个字符串数组?

objective-c - 订购数组以获得最佳饼图显示(将小值分开)

ruby - 范围内最高的唯一素因子

c# - 将多个项目插入列表或数组(没有 Linq,也不完全是 CodeGolf)

cryptography - 有多少个质数(可用于 RSA 加密)?