我试图找到一个数字x,其中x = y ^ 4 = z ^ 6 = 5k = 2l。有没有办法比较第四和第六功率数的数组,以找到最小的共同元素?
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++;
}
}
答案 0 :(得分:0)
首先: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整除,它应该是某些整数的第4和第6次幂,这意味着某些整数的12次幂整数。
以下是您要查找的数字列表:
for (i = 10; i < 1000; i+=10){
long long a = i ^ 12;
System.out.println(a);
}