c语言请调用判断是否素数的函数,实现输出1000以内的孪生素数

2025-05-16 04:42:48
推荐回答(1个)
回答1:

首先明白什么事孪生素数:孪生素数就是指相差2的素数对,例如 3和5,5和7,11和13。然后看代码:

#include 
#include 

// 判断是否是素数,是返回 1,不是返回 0
int is_prime(int n)
{
int i, tmp = (int)sqrt(n);
for (i = 2; i <= tmp; ++i)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}

int main()
{   
int i;
for (i = 2; i + 2 < 1000; ++i)
{
if (is_prime(i) && is_prime(i+2))
{
printf ("%d %d\n", i, i + 2);
}
}

return 0;
}

 这是运行结果: