永发信息网

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

答案:4  悬赏:40  手机版
解决时间 2021-11-29 00:04
C#关于使用sqrt()的一个小程序,帮看看哪里有问题呢
最佳答案
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 也是整数才 进ifint a = 1;
double temp1, temp2; //a是要求的数。temp1、temp2是a的平方根。
while (a < 1000)
{
temp1 = Math.Sqrt(a + 100);
temp2 = Math.Sqrt(a + 268);
if (temp1 % 1 == 0 && temp2 % 1 == 0)
if ((temp1 * temp1 == a + 100) && (temp2 * temp2 == a + 268))
{
Console.WriteLine(a);
//break;
}
a++;
}
全部回答
目测是一个超长的if语句
你用break了。把break 去掉追问和break没关系。我运行结果是0,后来我就添加了个break,还是一个样。追答你不是想去1000内所有的数么? 是168 还是268?追问我求完全平方数啊。
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追问谢谢了。可惜只能采纳一个。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冒险岛赤龙哪打
我在武汉江夏经济开发区延锋伟世通汽车饰件有
盗墓没盗出文物判刑吗
36字花破解技巧
家装半个椭圆怎么画最好有画半个椭圆的图样记
刚在艺宴买了个胡仁杰的380cc底槽清紫砂壶,9
郑州须水有批发饹馍的吗
想提高150分以上,文科的,可以吗?
下面是小芳和小伟的对话。小伟回答错误的原因
二a加三a加二a等于十点五则a等于多少
足控真的很可怕吗
亏字上面那个一笔没有是什么字
单选题一位哲学家说过:“人在饥饿时只有一个
李高隐的古诗
我换了个手机登录我的百度网盘,里面存的东西
推荐资讯
焊缝焊高用英语怎么说
22岁意味着人生的开始吗
"一山分四季,十里不同天",体现了云南地形地貌
浴乎沂风乎舞雩咏而归表达的思想是什么
我的PSP3000坏了,怎么办?怎么修?
万科地产外包编制待遇如何,有发展空间吗,有
四月份19-13度能钓鱼吗
俊俏拂增掠偶沾漾泗滨挨胀翩秆绣赤褐衬,衫泛
广州番禺柒娃资产管理公司怎么样?有在那里做
当阳窑湾到河溶上千人捡鱼是哪个工厂排污造成
单选题Doyouknowtheman________Jack?A.call
田野里除了稻田还有什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?