大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、一般而言,prime的作用就是判断一个数是否为素数(也称“质数”)。各种函数是指自己定义的函数还是库函数?若是库函数,这就需要自己去看相关资料掌握。若是自己定义的函数,那作用自己应该清楚不过了。
成都创新互联是一家专业提供江源企业网站建设,专注与成都网站建设、网站建设、H5高端网站建设、小程序制作等业务。10年已为江源众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
2、例如:
#include stdio.h
int IsPrime(int n)
{
if (n = 1) return 0;
if (n % 2 == 0) return n == 2;
for (int i = 3; ; i += 2)
{
if (i n/i) break; // 等价于 i*i n, 不用开方
if (n % i == 0) return 0;
}
return 1;
}
int main()
{
for (int n = 100; n = 300; n++)
if (IsPrime(n))
printf("%4d", n);
return 0;
}
#include stdio.h
#include math.h
int prime(int x)
{
int i;
for(i=2;i=(int)sqrt(x);i++)
{
if(x%i == 0)
{
break ;
}
}
if(i(int)sqrt(x))
{
return 0;
}
else
{
return 1;
}
}
int main(int argc,char *argv[])
{
int m;
while(1)
{
printf("m=");
scanf("%d",m);
if(m3)
{
printf("The End.\n");
continue ;
}
if(prime(m) == 0)
printf("%d is prime number.\n",m);
else
printf("%d is not prime number.\n",m);
return 0;
}
}
按照我的理解
你的prime()函数是判断素数的函数
如果是素数就返回1
不是素数返回0
那么你的if语句实际就是来判断prime(i) 是否等于0
那么你的if语句应该为if(prime(i)!=0)
我的理解就是这样
#include
"stdio.h"
#include
"math.h"//判断一个整数是否为素数
bool
prime(int
x)
{
int
i;
for(i=2;i=
sqrt(x);i++)
{
if(x%i==0)
return
false;
}
return
true;
} //判断一个整数(1位或多位)是否每一位都是素数
bool
allPrime(int
a)
{
if(prime(a%10))
//如果个位是素数
{
a=a/10;
return
allPrime(a);
}
else
return
false;
}//
打印出1-5000内满足题意的素数
void
printPrime()
{
int
i;
int
a=0;
for(
i=11;i5000;)
//
1-9
不用再判断了,只有一位。10和5000很明显也不用去判断了,不是素数
{
if(prime(i))
//
如果i是素数,判断个位是不是素数,如果个位不是,不满足第二个条件
{
if(prime(i%10))
//判断个位
{
a=i/10
;
//a就是去掉个位后的数
if(prime(a))
//判断a
是否是素数,如果是,再判断a每一位是否是素数
{
if(allPrime(a))
printf("%d\n",i);
} }
}
i+=2;
}
}int
main()
{
printPrime();
}