📄 fivefang.java
字号:
/**等式A^5+B^5+C^5+D^5+E^5=F^5,有一个满足0<A<=B<=C<=D<=E<=F<=75
* 的确切的整数解,编写一个程序找出这个解。提示:预先算出X^5的所有的值,
* 并将它们存到数组中,对每个员组(A,B,C,D,E),仅仅需要证实数组存在F
* (这里有几种方法对F进行检查,一个是二分搜索法,其他的方法被证实更有效。)
* */
public class Fivefang {
public static void main(String args[]){
//for(int a=1;a<=75;a++)
//for(int b=1;b<=75&b>=a;b++)
//for(int c=1;c<=75&c>=b;c++)
//for(int d=1;d<=75&d>=c;d++)
//for(int e=1;e<=75&e>=d;e++)
//for(int f=1;f<=75&f>=e;f++)
//if(Math.pow(a, 5)+Math.pow(b, 5)+Math.pow(c,5)+Math.pow(d,5)
// +Math.pow(e,5)==Math.pow(f,5))
//System.out.printf("a=%d b=%d c=%d d=%d e=%d f=%d",a,b,c,d,e,f);
int[] array1=new int[75];
int[] array2=new int[75];
for(int i=0;i<array1.length;i++)
array1[i]=i+1;
for(int i=0;i<array2.length;i++)
array2[i]=(int)Math.pow(array1[i],5);
for(int a=0;a<array2.length;a++)
for(int b=0;b<array2.length&b>=a;b++)
for(int c=0;c<array2.length&c>=b;c++)
for(int d=0;d<array2.length&d>=c;d++)
for(int e=0;e<array2.length&e>=d;e++)
for(int f=0;f<array2.length&f>=e;f++)
if(array2[a]+array2[b]+array2[c]+array2[d]+array2[e]==array2[f])
{System.out.printf("a=%d b=%d c=%d d=%d e=%d f=%d",array1[a],array1[b],array1[c],array1[d],array1[e],array1[f]);
System.out.println();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -