验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和。

验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和。

问题描述:

我不知道哪里错了

#include<stdio.h>

int prime(int t);

int main()
{
int a=6,m,n,num=0;
for (;a<=100;a+2){
                 for (m=2;m<=a/2;m++){
                                     n=a-m;
                                     if((prime(m)==1)&&(prime(n)==1)){num+=1;
                                                                     printf("%d=%d+%d",a,m,n);
                                                                     if (num%5==0){
                                                                                   printf("\n");
                                                                                   num=0;
                                                                     }
                                                                     }
                                     }}
return 0;
}




int prime(int t)
{
int i,e=0;
for (i=2;i<t;i++){
                 if (t%i==0) e=1;
                 }
return e;
}


for (;a<=100;a+2){
改为
for (;a<=100;a=a+2){

a+2是不会改变a的值的

素数判断也错了,返回0表示不是素数。所以if(t%i==0) e应该等于0。e的初始值应该是1