相续正整数的立方和等于另一个整数的立方问题:
并找到更多的这样的整数:
/************************************************************
* @author :LTM
************************************************************/
package per.ltm.cube.issue;
public class Math {
public Math(){
}
/*********************************************************
* @explain:求立方
* @param cubenum:底数
* @return:立方值
********************************************************/
public int cube(int cubenum) {
int cubicsum=cubenum*cubenum*cubenum;
return cubicsum;
}
/**********************************************************
* @explain:运算、验证等式-->输出等式左右两边的结果及验证结果
* @param EqLMin:等式左边最小值
* @param EqLMax:等式左边最大值
* @param EqRNum:等式右边的值
*********************************************************/
public void Result(int EqLMin,int EqLMax,int EqRNum) {
int Lsum=0;
int Rsum=0;
for(int i=EqLMin;i<=EqLMax;i++){
Lsum+=cube(i); //左边求和
}
Rsum=cube(EqRNum); //右边求和
System.out.println("左边="+Lsum);
System.out.println("右边="+Rsum);
System.out.println(Lsum==Rsum);
System.out.println();
}
/********************************************************
* @explain:寻找一定范围内满足相续正整数的立方和等于另一个整数的立方的式子,并输出
* @param Start:寻找的起始值
* @param End:寻找的终值
* @return:0
*******************************************************/
public int Lookup(int Start,int End) {
long LookLsum;
for(int i=Start;i<=End;i++){
LookLsum=0;
for(int j=i;j<=End;j++) {
LookLsum+=cube(j);
for(int k=j+1;cube(k)<=LookLsum;k++)
{
if(LookLsum==cube(k)) {
System.out.println(i+"^3+...+"+j+"^3="+k+"^3");
//Result(i,j,k); //等式验证
}
}
}
}
return 0;
}
public static void main(String[] args){
//验证等式
Math Mymath1=new Math();
Math Mymath2=new Math();
Mymath1.Result(3,5,6);
Mymath2.Result(6,69,180);
//寻找等式
Math MyLook=new Math();
MyLook.Lookup(1,100);
}
}