实现:输入一个数n 看n的3次方是否等于连续的47个自然数的平方之和
如 47的3次方== 22的平方+23的平方+……+68的平方 public static boolean isKiller(int n) {
long a=n*n*n;
long b=0;
long result=0;
boolean flag = false;
for(int i=0;i<1000;i++) {
for(int j=i+1;j<48+i;j++) {
b=b+j*j;
}
result=b;
b=0;
}
if(a==result) //问题是这里在调试里面已经显示a和result相等了 但是flag却还是flase 这是为什么呢
flag=true;
flag=false;
return flag;
}
问题在注释里面 求指教啊
如 47的3次方== 22的平方+23的平方+……+68的平方 public static boolean isKiller(int n) {
long a=n*n*n;
long b=0;
long result=0;
boolean flag = false;
for(int i=0;i<1000;i++) {
for(int j=i+1;j<48+i;j++) {
b=b+j*j;
}
result=b;
b=0;
}
if(a==result) //问题是这里在调试里面已经显示a和result相等了 但是flag却还是flase 这是为什么呢
flag=true;
flag=false;
return flag;
}
问题在注释里面 求指教啊
flag=true;
else
flag=false;
b也是打酱油的角色public static boolean isKiller(int n) {
long a=n*n*n;
boolean flag=false;
long result=0;
for(int i=0;i<1000;i++){
for(int j=i+1;j<48+i;j++)
result+=j*j;
if(a==result){
flag=true;
break;
}
result=0;
}
return flag;
}
flag=false;
return flag;
咋又等于true又等于false
{
flag = true;
}else{
flag = false;
}
public static boolean isKiller(int n) {
long a=n*n*n;
long b=0;
long result=0;
for(int i = 0; result <= a; i++)
for(int j=i+1;j<48+i;j++) {
b=b+j*j;
}
result=b;
if(result == a){
return true;
}
b=0;
}
return false;
}