两个素数之差为2,则称这两个素数为双胞胎数。求出[200,1000]之间的最大一对双胞胎数的和。
#include "stdio.h"
int Prime(int n)
{
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int i, sum = 0;
int max = 0;
for (i = 200; i < 1000; i++)
{
if (Prime(i) && Prime(i - 2))
{
if (max<(i + i - 2))
{
max = i + i - 2;
}
}
}
printf("%d", max);
return 0;
}
#include "stdio.h"
#include "math.h"
int sushu(int n)
{
int i;
for (i = 2; i <= sqrt(n); i++)
if (n % i == 0)
return 0;
return 1;
}
int main()
{
int i;
for (i = 202; i <= 1000; i++)
if (sushu(i) && sushu(i - 2))
printf("%d %d\n", i - 2, i);
return 0;
}
#include "stdio.h"
int isPrime(int n)
{
if (n <= 1)
return 0;
int i;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int i, sum = 0;
for (i = 1000; i > 2; i--)
{
if (isPrime(i) && isPrime(i - 2))
{
printf("%d+%d = %d", i - 2, i, 2 * i - 2);
break;
}
}
return 0;
}