帮忙看看这个c++程序错在哪了?怎么改?

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<iostream>#include<math.h>usi... 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int intNum;
int x,y;
for (intNum = 1; intNum <= 1000; intNum++)
{
x = int(sqrt(intNum + 100));
y = int(sqrt(intNum + 168));
if (x^2 == intNum + 100 && y^2 == intNum + 168);
{
printf("%d\n", intNum);
}
}
system("pause");
}
展开
 我来答
尘阔欠W
2012-01-06 · 超过27用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:48.3万
展开全部
我帮你改好了,结果为156,对不对?:
#include <iostream>
#include <math.h>
using namespace std;

void main()
{
int intNum;
int x,y;
for (intNum = 1; intNum <= 1000; intNum++)
{
x = (sqrt(intNum + 100));
y = (sqrt(intNum + 168));
if (pow(x,2) == double(intNum + 100) && pow(y,2) == double(intNum + 168))
{
printf("%d\n", intNum);
}
}
system("pause");
}
boe20121220
2012-01-06 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:140万
展开全部
#include <iostream>
#include <cmath>//这里使用cmath
using namespace std;

void main()
{
int intNum;
int x,y;
for (intNum = 1; intNum <= 1000; intNum++)
{
x = (sqrt(intNum + 100));
y = (sqrt(intNum + 168));
if (pow(x,2) == double(intNum + 100) && pow(y,2) == double(intNum + 168))
{
cout<<intNum<<endl;
}
}
system("pause");
return 0;//int main要有return
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhdm123
2012-01-06 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:129万
展开全部
if ((x^2 == (intNum + 100) )&& (y^2 == (intNum + 168)));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式