【C语言求素数(质数)的三种方法】 |
您所在的位置:网站首页 › 素数的表示方法c语言 › 【C语言求素数(质数)的三种方法】 |
失踪人口回归,假期因为太懒,刚开学的这几天又真的忙,所以好长时间没有发文章了,马上我们要进行C语言考试了,我发现学的东西好多都不太懂,所以慢慢要在进行一次复习了;上周数据结构课上老师让写程序求素数,我的大脑一片空白,所以学习了一下,同时发个博客让我们一起重新学习一下如何来求素数!废话不多说了,直接进入正题。 首先我们要知道何为素数素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,也就是在大于1的整数中,只能被1和这个数本身整除的数;其中2是最小的质数。 方法一:在2~x-1范围内,如果没有能整除x的除数,则x为素数(质数)比如:5只有1和5可以将它整除,没有其他能整除5的除数,所以5就为素数(质数) 代码如下: #define _CRT_SECURE_NO_WARNINGS 1 #include int main() { int x = 0; printf("请输入要判断的x的值:"); scanf("%d", &x);//输入要判断的数 if (x < 2) printf("%d 应 >= 2\n", x);//2是最小的素数,当要判断的数小于2时无意义 else { int i = 0; for (i = 2; i = x) printf("%d是素数\n", x); else printf("%d不是素数\n", x); } return 0; }结果为: 方法二:2~x/2内,如果没有能整除x的除数,则x为素数这种方法较之第一种方法可以提高代码的运行效率 代码如下: #define _CRT_SECURE_NO_WARNINGS 1 #include int main() { int x = 0; printf("请输入要判断的x的值:"); scanf("%d", &x); if (x < 2) printf("%d过小,请输入>=2的值\n", x); else { int i = 0; for (i = 2; i = x) printf("%d是素数\n", x); else printf("%d不是素数\n", x); } return 0; }运行结果如下: 方法三:2~内,如果没有能整除x的除数,则x为素数这种方法是三种中运行效率最好的一种 代码如下 : #define _CRT_SECURE_NO_WARNINGS 1 #include #include //因为要用到sqrt()函数求x的平方根,所以要包含这个头文件 int main() { int x = 0; printf("请输入要判断的x的值:"); scanf("%d", &x); if (x < 2) printf("%d过小,请输入>=2的值\n", x); else { int i = 0; for (i = 2; i = x) printf("%d是素数\n", x); else printf("%d不是素数\n", x); } return 0; }结果如下: 好了,以上就是求宿舍的三种方法,仅供参考,如果觉得有用的友友点赞加关注,后叙还发我们学习编程过程中常见的问题 关注周某人,带你学编程!!! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |