C#关于使用sqrt()的一个小程序,帮看看哪里有问题呢

我是要求这个:某个整数加上100后它是一个完全平方数,再加上168后它又是一个完全平方数,求这个数。代码如下:运行结果总是为0doublea=0;doubletemp1,... 我是要求这个:某个整数加上100后它是一个完全平方数,再加上168后它又是一个完全平方数,求这个数。
代码如下:运行结果总是为 0

double a = 0;
double temp1, temp2; //a是要求的数。temp1、temp2是a的平方根。
while(a<1000)
{
temp1 = Math.Sqrt(a + 100);
temp2 = Math.Sqrt(a + 268);
if ((temp1 * temp1 == a + 100) && (temp2 * temp2 == a + 268))
{
Console.WriteLine(a);
break;
}
a++;
}
是不是使用sqrt()还需要在头文件那里添加某个东西?
using Syestem.....什么的?
对了,我把条件while(a<1000000),结果运行也是0的
展开
 我来答
不_告诉你_
2014-07-31 · TA获得超过436个赞
知道小有建树答主
回答量:345
采纳率:91%
帮助的人:128万
展开全部
double a = 0;
double temp1, temp2; //a是要求的数。temp1、temp2是a的平方根。
int iTemp1, iTemp2;

while (a < 1000)
{
temp1 = Math.Sqrt(a + 100);
iTemp1 = (int)temp1; //取整

temp2 = Math.Sqrt(a + 268);
iTemp2 = (int)temp2; //取整

if ((iTemp1 * iTemp1 == a + 100) && (iTemp2 * iTemp2 == a + 268))
{
Console.WriteLine(a);

//break;
}
a++;
}

算法有问题
计算结果为
21
261
追问
谢谢了。可惜只能采纳一个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幻雪灵烽
推荐于2016-04-15 · TA获得超过1079个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:149万
展开全部
a从1开开始
            int a = 1;
            double temp1, temp2; //a是要求的数。temp1、temp2是a的平方根。
            while (a < 1000)
            {
                temp1 = Math.Sqrt(a + 100);
                temp2 = Math.Sqrt(a + 268);
                if ((temp1 * temp1 == a + 100) && (temp2 * temp2 == a + 268))
                {
                    Console.WriteLine(a);
                    break;
                }
                a++;
            }
更多追问追答
追问
挺奇怪的,怎么改成1就可以了呢。我不是在循环里设了a++吗
再问一个,因为题目要求是int整数。但是sqrt()里的参数必须是double,有什么方法解决吗
a是int,要求它的两个平方根也是int,这样才符合题目要求。如100=10x10
追答
那就还需要判断  temp1 是整数 temp2 也是整数才 进if
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ming0103ming
2014-07-31 · TA获得超过258个赞
知道小有建树答主
回答量:442
采纳率:100%
帮助的人:299万
展开全部
你用break了。把break 去掉
更多追问追答
追问
和break没关系。我运行结果是0,后来我就添加了个break,还是一个样。
追答
你不是想去1000内所有的数么? 是168 还是268?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-07-31
展开全部
目测是一个超长的if语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式