c语言的质数判断


c语言的质数判断1:

首先要判断一个数是不是质数,要看它除了1和它本身以外,在区间[2,m-1]的范围内,是否还有一个以上(包括一个)能让它整除的数。

思路:

在区间[2,m-1]的表示方法:

     ~~~c
     if(x>=2&&x<=m-1)或者for(x=2;x<m;x++)
     ~~~

在这里我使用第二个代码表示,除此之外还要考虑两个特殊的数:1和2。

我们需要的效果是能否整除那就需要用到%符号(同时注意%两边都必须是int)

我们要做的就是在这个区间内找到这样一个数即:

for(x=2;x<m;x++)
{
    m%x==0;
    break;
}

当这个数出现时就已经可以停止此次循环了。

接下来我们再来进行判断这个数是否在这个区间内,如果在就说明输入的数字除了1和自己本身外,还有一个能在区间[2,m-1]让它整除的数所以该数不是质数,反之则说明该数是质数。

注:还可以在这些基础上加上一些提示语和一些输入错误的处理方法

结合以上思路最终得到的代码为:

#include <stdio.h>
int main()
{
	int x,y;
	printf("请输入一个正整数:"); 
	scanf("%d",&x);
	while(x<0) 
	{
		x=-x;
	}
	if(x==1)
	{
		printf("该数不是质数。");
	}
	if(x==2)
	{
		printf("该数是质数。");
	}
	if(x>2)
	{
		for(y=2;y<x;y++)
		{
			if(x%y==0)
			{
			   break; 
			}
		}
		if(y>=2&&y<x)
		{
			printf("该数不是质数。");
		}
		else
		{
			printf("该数是质数。");
		} 
    }
	return 0; 
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM