证明哥德巴赫猜想中的判断素数

证明哥德巴赫猜想
代码如下

#include
#include
using namespace std;
int main()
{
    int gede(int s);
    int a;
    cout<<"请输入一个大于6的偶数:"<>a;
    gede(a);
    return 0;    
 } 
int gede(int s)
{
    int prime(int x);
    int i,j; 
    for(i=2;ifor(j=2;jif(prime(i)&&prime(j))
                if(s==i+j&&i<9)
                    cout<"="<"+"<int prime(int x)     //判断是否为素数 
{
    int i,k=sqrt(x);
    for(i=2;i<=k;i++)
        if(x%i==0)break;
    if(i>k) 
        return 1;
    else
        return 0;
}

在求判断是否为素数的函数中 为什么要判断i>k,i应该不可能大于k吧?
而且如果去掉这段代码,一样可以正常运行

    if(i>k) 
        return 1;
    else
        return 0;

还有就是这个判断素数的方法原理是什么?

i>k表示上面的for循环全部执行结束了,循环结束条件就是 i>k
当i>k时,表明for循环执行过程中没有满足if条件的i值,没有break跳出循环,所以就说明2到k的所有值都不能整除x,所以x是素数,返回1。
如果循环中有数能够整除x,那么就会break跳出循环,此时i值肯定不大于k的,那么return 0