求平方和问题

eclipse_xu 2011-05-21 02:49:57
实现:输入一个数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;
}


问题在注释里面 求指教啊
...全文
390 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianlizhima 2011-05-21
  • 打赏
  • 举报
回复

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;
}
try-catch-finally 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hellousb2010 的回复:]
flag=true;
flag=false;
return flag;
咋又等于true又等于false
[/Quote]
我貌似又看错了
qq292487069 2011-05-21
  • 打赏
  • 举报
回复
if (a == result)
{
flag = true;
}

else

{
flag = false;
}
try-catch-finally 2011-05-21
  • 打赏
  • 举报
回复
flag=true;
flag=false;
return flag;
咋又等于true又等于false

凡心未灭 2011-05-21
  • 打赏
  • 举报
回复
你的思路不太正确:你的result的结果是1000的平方+10001的平方+。。。1046的平方,
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;
}
awusoft 2011-05-21
  • 打赏
  • 举报
回复
if(a==result) //问题是这里在调试里面已经显示a和result相等了 但是flag却还是flase 这是为什么呢
flag=true;
else
flag=false;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧