int ss(int i) /*自定義函數判斷是否為素數*/
{
int j;
if (i <= 1) /*小於1的數不是素數*/
return 0;
if (i == 2) /*2是素數*/
return 1;
for (j = 2; j < i; j++) /*對大於2的數進行判斷*/
{
if (i % j == 0)
return 0;
else if (i != j + 1)
continue;
else
return 1;
}
}
void main()
{
int i, j, k, flag1, flag2, n = 0;
for (i = 6; i < 100; i += 2)
for (k = 2; k <= i / 2; k++)
{
j = i - k;
flag1 = ss(k); /*判斷拆分出的數是否是素數*/
if (flag1)
{
flag2 = ss(j);
if (flag2) /*如果拆分出的兩個數均是素數則輸出*/
{
printf("%3d=%3d+%3d,", i, k, j);
n++;
if (n % 5 == 0)
printf("\n");
}
}
}
printf("\n");getch();
}
這是100內的,要更大的話把數字改大就行 了