错误代码请求改正,问题如下

输入一个大于10小于100000的整数,是否可以找到两个质数的和等于这个整数。
如13=11+2;16=13+3;
要求编写函数完成质数的判断
输入
输入一个整数
输出
若可以找到两个质数的和等于这个数输输出Y,否则输出N。
样例输入 Copy
15
样例输出 Copy
Y
提示
实例分析1,n=18
flag = 0
①i=2 j=16,j都不是质数
②i=3 j=15, j不是质数
③i=4 j=14,i和j都不是质数
④i=5 j=13,i和j都是质数,flag=1,输出Y

实例分析2,n=17
flag = 0
①i=2 j=15,j不是质数
②i=3 j=14, j不是质数
③i=4 j=13,i不是质数
④i=5 j=12,j不是质数
⑤i=6 j=11, i不是质数
⑥i=7 j=10,j不是质数
⑦i=8 j=9, i和 j都不是质数
flag=0,输出N

int iszhishu(int j,int i,int n,int b)
{
int a,flag=0;
for(a=2;a<=b;a++)
{
if(i%a==0&&j%a==0)
{
flag=0;
}
else
{
flag=1;
}
}
}
int primes(int n)
{
int i=1,j;
for(i=1;i<=n;i++)
{
j=n-i;
int iszhishu(int j,int i,int n);
}

}
#include<stdio.h>
#include<math.h>

int main(int flag=0)
{
int n,b;
scanf("%d",&n);
b=sqrt(n);
int primes(int n);
if(flag=1)
{
printf("Y");
}
else
{
printf("N");
}
return 0;
}


#include<stdio.h>

int prime(int n)

{

    int i;

    if (n < 2) {

        return 0;

    }

    else {

        for (i = 2; i < n; i++) {//判断n在2~n-1中有没有因数

            if (n%i == 0)//如果用可以除尽的数,则非素数

                break;

        }

        if (i >= n) {//存在2~n-1之间有因数

            return 1;

        }

    }

    return 0;

}

 

int main()

{

    int n, b[10000], i, j, m = 0, flag;

    printf("请输入一个 10 到 10000 之间的整数:");

    scanf("%d",&n);

    for (i = 1; i < n; i ++)

    {

        if (prime(i) == 1)

        {

            b[m ++] = i;

        }

 

    }

    flag = 0;

    for (i = 0; i < m; i ++)

    {

        for (j = i + 1; j < m; j ++)

        {

            if (b[i] + b[j] == n)

            {

                flag = 1;

            }

        }

    }

    if(flag==1)

    {

        printf("Y\n");

    }

    else

    {

        printf("N\n");

    }

    return 0;

}