2.用一个2层for循环,第一层是6~某一个比较大的偶数n(自己设定.不见得用无限循环吧?)的递增2循环;第二层是3~n/2的奇数a的递增2循环,用函数Prime判断a和n-a是否都返回true,都返回true的时候就break退出第二层for循环;
3.可以在每一个n的代码里面添加一个输出显示代码,把6~n间的所有偶数表示为n=a+(n-a)的形式.
#include "stdio.h"
#include "math.h"
int prime(int x)
{
int i
for(i=2i<=sqrt(x)i++)
if(x%i==0)return 0
return 1
}
int main(void)
{
int count, i, j, k, m, n, number
scanf("%d%d", &m, &n)
if(m % 2 != 0) m = m + 1
if(m >= 6){
for(i=mi<=ni+=2)
{for(j=3j<i/2j+=2)
if(prime(j)&&prime(i-j))
{printf("%d=%d+%d\n",i,j,i-j)break}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)