当前位置: 代码迷 >> Eclipse >> java 证实得出一个0到1000的整数的立方等于另外两个整数的立方和
  详细解决方案

java 证实得出一个0到1000的整数的立方等于另外两个整数的立方和

热度:240   发布时间:2016-04-22 23:43:07.0
java 证明得出一个0到1000的整数的立方等于另外两个整数的立方和
import java.util.HashSet;
import java.util.Set;

public class Cubesprove {

public static void main(String[] args) {
int b=0;
int c=0;
for (int a = 1; a <=1000; a++) {
int a1=(int) Math.pow(a,3);
int d=(int) Math.pow(b,3)+(int)Math.pow(c,3);
if(a1==d){
System.out.println(a+"^3"+"="+b+"^3"+c+"^3");
}
else{
System.out.println("can't prove");
}
}

}
}
怎么再遍历b和c??
麻烦大家给个思路或者代码

------解决思路----------------------
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.LayoutManager;
import java.util.ArrayList;


public class test {

public static void main(String[] args) {
//遍历所有数字,作为第一个数字,作为a
boolean hasNotNum=true;
for (int i = 0; i < 1000; i++) {
//遍历从0到a的所有数字,作为b
for (int j = 0; j < i; j++) {
//如果有相等,则下一次循环。
if(j==i)continue;
//遍历从0到a的所有数字,作为c
for (int j2 = 0; j2 < i; j2++) {
//如果有相等,则下一次循环。
if (j2==j
------解决思路----------------------
j2==i) {
continue;
}
if (i*i*i==j*j*j+j2*j2*j2) {
System.out.println(i);
System.out.println(j);
System.out.println(j2);
hasNotNum=false;
}

}
}



}
if (hasNotNum) {
System.out.println("没有这样的数字");
}
}

}





遍历就行了
  相关解决方案