素数问题请教 一下 c语言

问题遇到的现象和发生背景

素数问题 sqrt函数

遇到的现象和发生背景,请写出第一个错误信息

请问在使用这个函数的时候 遇见比如sqrt(101 )的时候是往下取整了还是没有 如果往下取整了那么sqrt(101)为什么是素数呢

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

sqrt是开根号的意思

sqrt是开根号,如果要向下取整的话,你要用floor

1.sqrt是开方
2.sqrt(101)是个double类型,它没有取整
3.i<=sqrt(n)其实就等价于i*i<=n,从数学上可以证明如果任何小于n的开方的数都不能整除n,那么大于n的开方的数也不能整除n,所以运行到开方即可,这样比较节省时间。

额,素数的定义是在正整数范围的定义的
所以就算 “向下取整”了又如何
a*b=c
假设c是5,5的平方跟2.236, 你用2除不能满足,那么请问你向上取整变成3能满足么?

之所以用平方根,是因为a==b是a的最大取值范围,2 * 3=6和 3 * 2=6 一样,我们只需要保证 a<=6的平方就可以覆盖条件了

请记住素数的定义是正整数范围,不是正数范围,更不是无理数范围的事情