(c语言)素数判断的四种方法
时间:2024-04-01 21:40:49 来源:网络cs 作者:璐璐 栏目:其他工具 阅读:
方法一:
#include <stdio.h> //方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数 int main() //因为我们只需要循环到i<n,而不是i<=n,否则就会出错。{ int i, n; printf("请输入数值 "); scanf("%d", &n); if (n<=1) { printf("数据错误,不在取值范围内\n"); return 0; } for (i = 2; i <= n - 1; i++) //在2到n-1之间任取一个数 { if (n % i == 0) { break; } } if (i == n) { printf("这是素数\n"); //直到循环结束都未被整除,是素数 } else { printf("这不是素数\n"); //能被整除,不是素数 } return 0;}
方法二:
#include<stdio.h> //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数int main(){ int n, i; printf("请输入数值: "); scanf("%d", &n); if (n<=1) { printf("数据错误,不在取值范围内\n"); return 0; } for (i = 2; i <= n / 2; i++) //在2到n/2之间任取一个数 { if (n % i == 0) { printf("这不是素数\n"); //能被整除,不是素数 break; } } if (i == n / 2 + 1) { printf("这是素数\n"); //循环结束还不能被整除,是素数 } return 0;}
方法三:
#include<stdio.h> //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数 #include <math.h> //引用数学公式的声明int main(){ int i, j, n; printf("请输入数值: "); scanf("%d", &n); j = (int)sqrt(n); //j为n开平方根,也就是根号下n if (n<=1) { printf("数据错误,不在取值范围内\n"); return 0; } for (i = 2; i <= j; i++) //在2到sqrt(n)之间任取一个数 { if (n % i == 0) { break; } } if (j < i) { printf("这是素数\n"); //循环结束还不能被整除,是素数 } else { printf("这不是素数\n"); //被整除,不是素数 } return 0;}
方法四:质数分布的规律:大于等于5的质数一定和6的倍数相邻。
本文链接:https://www.kjpai.cn/news/2024-04-01/152355.html,文章来源:网络cs,作者:璐璐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
上一篇:[C++] 多态(上) -- 抽象类、虚函数、虚函数表
下一篇:返回列表