目的:判断一个数是否为素数
创新互联是一家业务范围包括IDC托管业务,雅安服务器托管、主机租用、主机托管,四川、重庆、广东电信服务器租用,温江服务器租用,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。
# include stdio.h
int main(void)
{
int m;
int i;
scanf("%d",m);
for(i = 2; i m; i++) //2到(m-1)的数去除m
{
if(m% i == 0) // 判断能否整除
break;
}
if (i == m)
printf("YES!\n");
else
printf("No!\n");
}
for循环的功能:
①若能整除,通过break跳出函数;
②若一直到m-1都不能整除,此时i再自增1到m,不满足i m跳出for循环,这时i = m。
扩展资料:
素数定理:
1、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数。
2、存在任意长度的素数等差数列。
3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。
4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。
5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为 (1 + 5)(中国潘承洞,1968年)。
6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为 (1 + 2)。
参考资料来源:百度百科-质数
void fun(int m)
{
static int k=(int)sqrt((double)m);
if(k 2)
{
printf("该数字是素数。\n");
return ;
}
if(m%k==0)
{
printf("该数字不是素数。\n");
return ;
}
k--;
fun(m);
}
#includestdio.h
int su(int n,int m)
{
if(m==1||m==0)return 0;
if(n%m==0)return 1;
else return su(n,m-1);
}
int main()
{
int n,k,m;
scanf("%d",n);
m=n-1;
k=su(n,m);
if(k==0)printf("这是素数.");
else printf("这不是素数.");
}
我在VC++编译过了,没问题。
#includestdio.h
#includemath.h
void main()
{
int m,n,x,i,j=0,temp;
int a,b;
printf("Input two nums:\n");
scanf("%d,%d",m,n);
a=(mn)?n:m;
b=mn?m:n;//调整mn的大小顺序
for(x=a;x=b;x++)
{
temp=(int)sqrt(x);
for(i=2;i=temp;i++)
if(!(x%i)) break;//有合数跳出本次循环
if (itemp)
{
printf("%d ",x);
j++;
if(!(j%5)) printf("\n"); //格式,每找到5个换行
}
}
getch();
}