
这个程序为什么运行不起呢 就是想求范围内的素数 并求孪生素数级两个素数相差二
#include <stdio.h>
// 判断n是不是素数
int is_prime(int n)
{
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int c, d;
printf("Please input c,d (c > 2):\n");
scanf("%d %d", &c, &d);
int count = 0;
int last_prime = 2; // 上一个素数
// 迭代找素数
for (int i = c; i <= d; i++)
{
if (is_prime(i))
{
if (i - last_prime == 2)
{
printf("%d %d\n", last_prime, i);
count++;
}
last_prime = i;
}
}
printf("total = %d\n", count);
return 0;
}
int prime = 0; //目前素数
int lastPrime = 1; //上一个素数
int n = 0;
printf("请用户输入最大值:");
scanf("%d", &n);
for (int i = 3; i < n; i++)
{
int juDge = 0; //判断是否素数
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
juDge = 1;
}
}
if (!juDge)
{
prime = i;
if (prime - lastPrime == 2)
{
printf("%d-%d\n", lastPrime, prime);
lastPrime = i;
}
else
{
lastPrime = i;
}
}
}