srkp.net
当前位置:首页 >> k int sqrt m >>

k int sqrt m

=(int)sqrt(m) int 整型转换,sqrl()平方根函数 ,应是求m平方根取整 long result 长整型定义result

int(N)是将N强制转换成int类型,sqrt(n)是平方根函数,int(sqrt(n))是先对n进行平方运算,然后再将运算结果强制转换成int类型

for(i=2;i

sqrt(145) 这样会报错 要改成这样 sqrt((double)145) k=sqrt((double)m)+1 要强制转换类型为double或float类型,因为sqrt函数没有重载用int做参数的函数

开平方

m=101是因为100不是素数,根本不需判断,不过写100也没问题,效率问题; +2是因为就保证判断的数不会是偶数(偶数肯定不是素数),同样是效率问题; 第三个问题嘛,你程序没写出来。

k=(int)sqrt(m); for(i=2;ik) printf("%d 是素数。\n",m); else printf("%d 不是素数。\n",m);} ...

强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。这里把int强制转换成double 建议楼主学习一下C语言类型强制转换

将 b 开2次方,然后转换成 int 类型, 在 * 10

能把完整代码帖上来吗?我感觉是在后面的一部分当中

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com