给出一个大于或等于3的正整数,判断他是不是素数

如题所述

4是大于3的正整数,4不是素数,因为素数是在大于1的自然数中,除了1和它自身外不能被其他自然数整除,但是4除了可以被1和4整除以外还可以被2整除,所以它不是素数。

5是大于3的正整数,5是素数,因为5除了能被除了1和它自身外不能被其他自然数整除。

素数的定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

扩展资料:

素数的性质:

1、质数p的约数只有两个:1和p。

2、初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。

3、质数的个数是无限的。

4、所有大于10的质数中,个位数只有1,3,7,9。

5、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数。

6、存在任意长度的素数等差数列。

参考资料:

百度百科—质数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
*求素数的三种方法
一:for(i=2;i<=(n-1);i++)
if(n%i==0)i在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数
二:for(i=2;i<n/2;i++)
if(n%i==0) /*i在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数

三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数,在下省了下面的输出步骤*/

下面程序给出第一种方法:
#include<stdio.h>
void main()
{
int n,i;
int flag=1; // 标示一下
printf("请输入一个大于或等于3的正整数:");
scanf("%d",&n);
if(n>=3)
{
for(i=2;i<=n-1;i++)
{
if(n%i==0)
{
flag=0;

printf("输入的不是素数");
break;
}

}
if(flag==1)
{
printf("输入的是素数");
}
}
}本回答被网友采纳
第2个回答  2011-05-10
办法很简单,看它是不是有两个以上的约数,或者看它是不是有除1和它本身以外的约数。约数的范围在1和这个数的平方根之间。举个例子,比如12,就是看看在1和3<√12之间还有没有约数,如果有就不是素数,没有就是!
相似回答