繁体   English   中英

如何比较两个数组以找到共同的元素?

[英]How to compare two arrays to find common elements?

我正在尝试寻找x = y ^ 4 = z ^ 6 = 5k = 2l的数字x。 有没有一种方法可以比较第四和第六幂数的数组以找到最小的公共元素?

    int[] fourth = new int[1000];
    int[] sixth = new int[1000];
    for (int i = 1; i < 1000; i++) {
        if (i*i*i*i % 10 == 0) {
            int count = 0;
            fourth[count] = (i*i*i*i);
            count++;
        }
    }
    for (int i = 1; i < 1000; i++) {
        if (i*i*i*i*i*i % 10 == 0) {
            int count = 0;
            sixth[count] = (i*i*i*i*i*i);
            count++;
        }
    }

第一件事: i^4 % 10 == 0意味着i % 10 == 0 ,所以您有10, 20, 30, ..., 990

for (int i = 10; i < 1000; i+=10){
    int count = 0;
    fourth[count] = (i^4);
    count++;
}

为了进一步提高,您可以简单地做一个数学技巧。

for (int i = 10; i < 1000; i+=10){
    double val = i^(4/6);
    if (val % 10 == 0 and 0<val<1000)
       system.out.println((val^(6/4)) + " is a number you are looking for!!!.");
}

您不需要迭代1到10,也不需要计算所有值。

编辑:

似乎您想计算x = y^4 = z^6 = 5k = 2l ,假设x,y,z,k,l是整数,x应该被10整除,并且应该是x的4和6的幂一些整数,这意味着一些整数的12次方。

这是您要查找的数字列表:

for (i = 10; i < 1000; i+=10){
    long long a = i ^ 12;
    System.out.println(a);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM