怎么做呀,可以把这个程序解释一下吗,谢谢

下面程序用来验证“歌德巴赫猜想”,即任何一个不小于4的偶数都可以表示为两个素数的和,并且要求打印出所有的可能情况。例如: 4=2+2  18=5+13,18=7+11  48=5+43,48=7+41,48=11+37;48=17+31,48=19+29

 

#include <stdio.h>

 

int prime(int m)

 

{

 

 int k;

 

 for(k=2;k<m;k++)

 

      if(________)

 

         return 0;

 

 return 1;

 

 }

 

main() 

 

{

 

 int n, i;

 

 do{

 

     printf("Input n: ");

 

     scanf("%d", &n);

 

 } while(n%2 || n<4);

 

 for(i=2;i<=n/2;i++)

 

     if(prime(i)&&________)

 

         printf("%d=%d+%d\n",n,i,n-i);

 

}

 

 

if(m%k==0)       prime(n-i)