s=(int) sqrt(n)是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:09:10
原来的程序是这样子的:
#include <iostream.h>

#include <math.h>

void main()

{

int i,n,s;

for(n=50; n<=100; n++)

{

s = (int) sqrt(n);

for(i=2; i<=s; i++)

{

if(n%i==0)

break;

}

if(i>s)

cout << n << endl;

}

s=(int) sqrt(n)
意思是将数据n求平方根,的道的结果转换为整型数,再赋值给变量s。

楼主的程序是想得到50到100之间的质数吧。

s=(int) sqrt(n)的意思就是对n开平方后取整。

这样做是为了提高计算效率,因为如果一个数不是质数的话,对它做因式分解,至少有一个因子是小于或者等于它的开方取整的,如果在小于或等于n的开方取整中没有找到它的因子,那么就可以判断n是质数。

s=(int) sqrt(n)
sqrt是开根号的意思~明白
int是取整的意思
综合起来就是先给n开根号,再取整~

意思是:先求出n的平方根,之后强制转换成整形赋值给s。大哥,你想干什么呀!你的这个程序得不到任何结果的。

(int) sqrt(n);
强制类型转换啊!sqrt是c语言的自带的函数!