社区
C语言
帖子详情
为什么求素数的时候到那个数的平方根就可以了呢
lingjin520
2012-06-04 07:57:12
为什么求素数的时候到那个数的平方根就可以了呢
...全文
998
5
打赏
收藏
为什么求素数的时候到那个数的平方根就可以了呢
为什么求素数的时候到那个数的平方根就可以了呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ISV多多米
2014-06-21
打赏
举报
回复
引用别人的回答,很有道理: 因为如果一个数不是素数是合数, 那么一定可以由两个自然数相乘得到, 其中一个大于或等于它的平方根,一个小于或等于它的平方根。并且成对出现。
博诺那
2012-06-05
打赏
举报
回复
可以减少循环次数,素数是因子为1和本身, 如果数c不是素数,则还有其他因子,其中的因子,假如为a,b.
其中必有一个大于sqrt(c) ,一个小于sqrt(c) ,参考语句如下:
for(i=2;i<sqrt(c);i++)
{if(c%i==0)
printf("不是素数");
}
jiandingzhe
2012-06-05
打赏
举报
回复
因为a*b = b*a
tongzhipeng5699
2012-06-04
打赏
举报
回复
上面手误
如果一个数不是素数, 那它除了1和他本身一定还有别的约数,假如这个数是num
附这样做的目的是为了提高效率,减少循环次数
tongzhipeng5699
2012-06-04
打赏
举报
回复
如果一个素还是素数 那它除了1和他本身一定还有别的约数,假如这个数是num
num=m*n 一定可以分解为两个整数相乘
设一个命题 ,num可以分解为两个数相乘且这两个数都大于num在平方根
m>sqrt(num) n>sqrt(num) 根据数学知识可以知道m*n>num 这与命题相反,所以命题是假的
所以合数一定至少有一个不大于sqrt(num)约数,只要找到这个数就可以了。
利用该
数
除以从2到该
数
的
平方根
看是否有被整除的来判断是否是素
数
从1到100之间的
数
,从2到本
数
的
平方根
,用本
数
除以2到这个
数
的
平方根
,若都不能整除说明该
数
为素
数
,否则则不是。
素
数
的
平方根
之和是一个无理
数
素
数
的
平方根
之和是一个无理
数
,朱胜林,,在本短文中,我们证明任意个素
数
之
平方根
的和必是无理
数
。
判断一个
数
是否为素
数
.zip
素
数
,又称质
数
,是指在大于1的自然
数
中,除了1和它本身以外不再有其他因
数
的自然
数
。判断一个
数
是否为素
数
,是编程中的一个基本问题,也是
数
学和计算机科学交叉的一个有趣领域。在本文中,我们将详细探讨如何编程实现素
数
的判断,并给出多种不同编程语言的实现方法。判断一个
数
是否为素
数
的基本方法是试除法。试除法的核心思想是:从2开始,到该
数
的
平方根
(向下取整),依次判断该
数
是否能被这些
数
整除。如果能被其中任何一个
数
整除,则它不是素
数
;如果都不能被整除,则它是素
数
。 为什么只需要试除到
平方根
呢?这是因为,如果一个
数
n不是素
数
,那么它必定可以分解为两个因
数
a和b的乘积,即n=a*b。假设a≤b,那么a的最大值就是√n(向下取整)。如果a大于√n,那么b必然小于√n,在之前的试除过程中就已经被检测到了。因此,只需要试除到√n就足够了。
筛选法
求素
数
数
组筛选法
求素
数
c++编程
判断一个
数
是否为质
数
以及通过C语言实现.docx
质
数
(又称素
数
)的判断条件主要包括以下三点: 质
数
必须是正整
数
。 质
数
必须大于1。 质
数
除了1和自身外,没有其它的正约
数
。换句话说,一个质
数
只有1和它本身两个因
数
。 根据这些条件,我们可以知道最小的质
数
是2,它也是质
数
中唯一的一个偶
数
。除了质
数
外,再去掉1,剩下的就是合
数
。合
数
与质
数
相对,是指除了1和它本身外,还有其他因
数
的正整
数
。 在实际判断一个
数
是否为质
数
时,我们可以采用试除法等方法。例如,我们可以从2开始,一直除到这个
数
的
平方根
(如果这个
数
是合
数
,那么它必定有一个小于或等于它
平方根
的因
数
)。如果这个
数
在这个过程中没有被整除,那么它就是一个质
数
。 以下是使用C语言实现判断一个
数
是否为质
数
的示例代码: ```c #include
#include
// 引入bool类型 #include
// 引入sqrt函
数
// 判断一个
数
是否为质
数
的函
数
bool isPrime(int num) { if (num <= 1) { return false; // 小于等于1的
数
不是质
数
C语言
69,396
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章