大众信息网

怎么用C#判断一个数是平方数

答案:5  mip版
解决时间 2021-01-08 07:12
  • 提问者网友:碎情漂移ド
  • 2021-01-08 01:36
新手
最佳答案
  • 二级知识专家网友:瑾色如弦
  • 2021-01-08 03:01
public string isKaiGen(double b)
{
double a=Math.Sqrt(b) ;
if(a.indexOf(".")==-1) //判断小数点存在否
{
return "平方数";
}
return "非平方数";
}
全部回答
  • 1楼网友:口袋里的自由
  • 2021-01-08 05:48
开方后的数显式转化为小数,看看是否为0
  • 2楼网友:繁華如
  • 2021-01-08 04:59
<p>首先,背下1-20的平方数,因为常用。 </p>  <p>然后牢记以下规律: <br>完全平方数,凡是个位为0的,其平方根个位必为0 <br>完全平方数,凡是个位为1的,其平方根个位必为1或9 <br>完  全平方数,凡是个位为4的,其平方根个位必为2或8 <br>完全平方数,凡是个位为5的,其平方根个位必为5 <br>完全平方数,凡是个位为6的,其  平方根个位必为4或6 <br>完全平方数,凡是个位为9的,其平方根个位必为3或7 </p>  <p>然后,对于一个比较大的整数,比如:23916 <br>一共有5位数字,假设它是完全平方数,那么它的平方根应该是一个3位数,因为100的平方  是最小的5位数。 <br>同时,这个平方根应该小于200,因为200的平方是40000比原数大。 <br>我们不妨取个中间数150,因为已知15  的平方是225(你背了),所以很容易算出150的平方是22500,比原数小。 <br>同理,算出160的平方是25600,比原数大。 <br>所  以,如果24346时一个完全平方数,它的平方根应该大于150且小于160。 <br>完全平方数,凡是个位为6的,其平方根个位必为4或6。 <br>计  算154的完全平方,等于 23716 比 23916 小200, <br>计算156的完全平方,等于 24336 比 23916 大420, <br>所  以23916不是完全平方数。 </p>  <p>对于一个位数较多的小数,比如:2.4336,2.43360和24.336. <br>小数点后位数为单数且“最后一位不为0”的数,一定不是完  全平方数;小数点后位数为偶数的数,可能是完全平方数,比如:24.336小数点后位数为3,一定不是完全平方数; <br>但2.43360小数点后位  数为5,却可能是完全平方数; <br>2.4336小数点后位数为4,可能是完全平方数。 <br>判断一个小数是不是完全平方数比较常用的方法是“百  倍扩大”也叫“移位法”,即把原数小数点向右移动“双数”位,直至小数变为整数,计算新整数的平方根,再把小数点按“百倍扩大”的次数移回,  如:2.4336   小数点向右移动4位(两次“百倍扩大”)变为24336,计算24336的平方根(156),小数点左移两位(1.56)即为2.4336的平方根。 </p>  <p>分数,只要分子分母都是完全平方数,这个分数就是完全平方数,反之,只要有一个不是,这个分数就不是完全平方数。 </p>  <p>如果,假设,比如,你碰见一个超大的数,比如:962707421742.79527904,建议你验算一下前面的计算,因为你一定算错了什么。 </p>  <p>该文章转载自生活小百科网: <a href="http://wenwen.soso.com/z/urlalertpage.e?sp=shttp%3a%2f%2fwww.tao2tao.com%2fpayment%2f335%2f3153628" target="_blank">http://www.tao2tao.com/payment/335/3153628</a></p>    <p>判断输入数的平方根是否为整数:</p>  <p>#include &lt;stdio.h&gt;</p>  <p>  #include &lt;math.h&gt;<br>int main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int x,y;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d",&amp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y=(int)sqrt(x);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x==y*y)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   printf("ok\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("no\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>}</p>    <p>如果正着想肯定撞车,逆着来就行了,哈哈</p>
  • 3楼网友:对温柔懂得不多
  • 2021-01-08 04:25
if (Math.Sqrt(5) != (int)Math.Sqrt(5)) { MessageBox.Show("5不是一个平方数"); }
  • 4楼网友:千里故人稀
  • 2021-01-08 04:00
if math.sqrt(x) % 1 == 0 { Yes } else { No }
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯