给出一个大于或等于3的正整数,判断他是不是素数
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、存在任意长度的素数等差数列。
参考资料:
展开全部
*求素数的三种方法
一: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("输入的是素数");
}
}
}
一: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("输入的是素数");
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
办法很简单,看它是不是有两个以上的约数,或者看它是不是有除1和它本身以外的约数。约数的范围在1和这个数的平方根之间。举个例子,比如12,就是看看在1和3<√12之间还有没有约数,如果有就不是素数,没有就是!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询