实例十一:一般函数应用(连续输出相邻的15对孪子素数)
#include <stdio.h>
#include <math.h>
int isprime(int a) /函数:判断一个数是不是素数,2~sqrt(a)之间的数一一试除/
{
int flag = 1, k = 2; /flag为一个标志变量/
while(k<=(int)sqrt(a) && flag)
{
if(a%k==0)
flag = 0;
k++;
}
return flag;
}
int main(void)
{
int k, n;
n = 0;
k = 2;
printf(“找到了如下15对孪生素数:\n”);
while(n < 15)
{
if(isprime(k) && isprime(k+2))
{
n++;
printf("%d,%d\n",k,k+2);
}
k++;
}
return 0;
}
心得:
在判断一个数是否位素数的时候,使用sqrt()函数会方便很多
需要注意逻辑的连接尤其是对于标志变量的使用。