重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;
创新互联建站专注于平昌网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平昌营销型网站建设,平昌网站制作、平昌网页设计、平昌网站官网定制、微信平台小程序开发服务,打造平昌网络公司原创品牌,更为您提供平昌网站排名全网营销落地服务。
2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到 这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同 24 - 2 x 12 和 12 x 2 一样。
#includestdio.h
int IsPrime(int n) // 判断是否为素数
{
if (n = 1) return 0;
if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是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()
{
int i, cnt = 0;
for (i = 1; i 100; i++)
{
if (IsPrime(i))
{
printf("%3d ", i);
if (++cnt%5 == 0) // 每5个换行
printf("\n");
}
}
return 0;
}
1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:
2、这里开始编写代码,这里判断素数需要用到平方根,所以要在头文件中引入math库,然后编写判断素数的函数,函数有唯一的参数n,代表素数。判断的依据是素数n只要不能被 2 到根号下n之 间任一整数整除,则n必定是素数,最后在主函数中调用判断素数的函数即可:
3、最后,编译运行程序,在弹出的命令行中输入17这个素数,程序的打印结果是17是素数,证明了程序的正确性。以上就是用C语言判断素数的流程:
#include stdio.h
#include math.h
//判断是否为素数的函数
int isPrime(int n)
{
int i=2;
while(i=(int)sqrt(n))
{
if(n%i == 0)
return 0; //不是素数,直接返回0
else
i++;
}
return 1;
}
int main()
{
int n,i;
printf("输入一个正整数: ");
scanf("%d",n);
for(i=2;i=n;i++)
{
if(isPrime(i)) //调用函数,如果该数为素数,则输出
printf("%d ",i);
}
printf("\n");
return 0;
}
示例运行结果:
输入一个正整数: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
#include stdio.h
int is_prime(int x)
{
int i;
for(i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{
int n,flag=0,i;
scanf("%d",n);
for(i=2;i*i=n;i++)
{
if(is_prime(i) is_prime(n-i))
{
flag=1;
printf("%d %d\n",i,n-i);
}
}
if(flag==0)
printf("No answer\n");
return 0;
}