您的位置:首页 > 新闻 > 会展 > c++质数判断 使用sqrt

c++质数判断 使用sqrt

2025/3/11 4:12:52 来源:https://blog.csdn.net/qq_52722885/article/details/139834183  浏览:    关键词:c++质数判断 使用sqrt

质数判断 使用sqrt

  • 如果一个整数能被分解成2个数的乘积,那么小的那个数一定不会超过这个数的开方。
    • 使用sqrt函数求解质数
    • 不使用sqrt函数求解质数

如果一个整数能被分解成2个数的乘积,那么小的那个数一定不会超过这个数的开方。

1不是质数。

8 => 2*4, 4*2
sqrt(8) =>3.xx

9 => 3*3
sqrt(9) =>3

11 =>
sqrt(11) =>3.xx

16 => 2*8, 4*4, 8*2
sqrt(16) =>4

18 => 2*9, 3*6, 6*3, 9*2
sqrt(18) =>4.xx

25 => 5*5
sqrt(25) =>5

使用sqrt函数求解质数

bool prime(int n){if(n==1) return false;for(int i=2;i<=sqrt(n);i++)if(n%i==0)return false;return true;
} 

不使用sqrt函数求解质数

bool prime(int n){if(n==1) return false;for(int i=2;i<n;i++)if(n%i==0)return false;return true;
} 

使用sqrt函数后,可以减少循环次数。

以判断 n=25 是否为质数为例子:
使用sqrt函数求解质数,最多循环次数为:4 次 => sqrt(n) - 1
不使用sqrt函数求解质数,最多循环次数为:23 次 => n - 2

结束。
仅学习。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com