C语言判断素数的几种方法-创新互联

素数的定义:只能被常数1或自己整除,不能被其他整数整除的正整数。

成都创新互联公司于2013年成立,先为白云等服务建站,白云等地企业,进行企业商务咨询服务。为白云企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。1.从2——x-1循环
#includeint main()
{
	int x;
	int IsPrime = 1;     //定义变量IsPrime并赋初值1 即x为素数
	scanf_s("%d", &x);
	for (int i = 2; i< x; i++)
	{
		if (x % i == 0)
		{
			IsPrime = 0;
			break;
		}
	}
	if (IsPrime == 0)
		printf("%d is not a prime number", x);
	else
		printf("%d is a prime number", x);
	
	return 0;
}

测试结果:

23
23 is a prime number

需要注意的是定义的变量IsPrime赋初值为1;其次是for循环中i是从2开始增加。另外加一句:break;与continue;的区别在于:程序执行到break;语句时,会跳出当前循环即结束当前循环;而continue;是不再执行当前循环内continue;语句之后的部分。

拓展:利用循环嵌套输出n以内的素数

#includeint main()
{
	int n;
	int count=0;
	int i,j;
	scanf_s("%d",&n);
	for(i=1;i<=n;i++)
	{
		int IsPrime=1;
		for( j=2;j

测试结果:

50
1        3        5        7        9
11      13      15      17      19
21      23      25      27      29
31      33      35      37      39
41      43      45      47      49

2.除去偶数之后,3——x-1,每次加2

定义一个判断是否为素数的函数

int IsPrime(int x)
{
    int ret=1;      //ret含义与之前的变量IsPrime相同
    if(x==1||(x!=2&&x%2==0))
        ret=0;
    for(int i=3;i
3.通过sqrt()函数
int IsPrime(int x)
{
    int ret=1;      //ret含义与之前的变量IsPrime相同
    if(x==1||(x!=2&&x%2==0))
        ret=0;
    for(int i=3;i
4.通过判断是否能被已经判断过的并且#include#define N 50 int IsPrime(int x, int known[], int number); int main() { int i = 3; int count = 1; int array[N]={2}; while (count< N) { if (IsPrime(i, array, count)) array[count++] = i; i++; } for (i = 0; i< N; i++) { printf("%d", array[i]); if ((i + 1) % 5 == 0) printf("\n"); else printf("\t"); } return 0; } int IsPrime(int x, int known[], int number) { int ret = 1; int i; for ( i = 0; i< number; i++) { if (x % known[i] == 0) { ret = 0; break; } } return ret; }

测试结果:

2        3         5         7         11

13       17       19       23       29
31       37       41       43       47
53       59       61       67       71
73       79       83       89       97
101     103     107     109     113
127     131     137     139     149
151     157     163     167     173
179     181     191     193     197
199     211     223     227     229

  以上便是几种判断素数的方法

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:C语言判断素数的几种方法-创新互联
URL分享:http://pwwzsj.com/article/hipci.html