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

k int sqrt m

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

问题一没弄明白你想问什么,根据我的经验你的程序for循环当中应该少一部分 问题二:可以不用写,加int这样表示强制转换,因为已经定义k为int型变量,所以赋值时会根据k的类型赋值,所以不用加int也可以得到想要的结果。不懂可以看谭浩强c语言,...

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

k=sqrt(m)是求m的二次方根,第一空是一种快速判定是否为质数方法,即将所要判定的数一次除以2到sqrt(m),其中没有出现整除的情况那么这个数就是质数。 第二空的意思是结束本循环。即:当出现m可以整除2到sqrt(m)中任何一个数时,就判定个m不...

开平方

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

for(i=2;i

这要看什么……sqrt只有接受三种精度的浮点数的函数重载,而int转换到三种浮点数的优先级相同,所以会报有多个函数的重载形式符合要求的错误,显式指定一下...

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

#include #include #include void main() { int m,i; float k; //改动这 printf ("input a number:"); scanf("%d",&m); // k = sqrt(m); k = sqrt(float(m)); //改动这 for (i=2; i k) printf("yes\n"); else printf("no\n"); } //书上写的不一...

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