该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/*
* 将10-20之间的全部偶数分解为2个素数之和
*/
#include
#include
/* 判断是否素数 */
int is_prime(int n)
{
int i;
if (n < 2)
{
return 0;
}
for (i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main(void)
{
int i, j, k;
for (i = 10; i <= 20; i++) //遍历取偶数
{
if (i % 2 == 0)
{
for (j = 0; j <= i/2; j++) //遍历取第一个素数
{
if (is_prime(j) == 0)
{
continue;
}
for (k = i/2; k < i; k++) //遍历取第二个素数
{
if (is_prime(k) == 0)
{
continue;
}
if (j + k == i)
{
printf("%d = %d + %d\n", i, j, k);
}
}
}
}
}
return 0;
}