把2000以内所有的正偶数分解成两个质数,两个质数相加的和等于这个正偶数。。
 比如4=1+3.

解决方案 »

  1.   

    首先,更正下LZ的思路..1不是质数,,质数的概念是一个数只能被1和本身整除,则它是质数,,在所有的正整数中,,只有2是偶质数,,所以做这个题要抛开2..那么我贡献一段刚写的程序,我运行了,,结果是对的..就是每个答案它会执行2遍,,就是比如8=3+5,8=5+3. 因为小弟刚学编程 这个问题我还不知道怎么解决..希望高人来了指点迷津..谢谢.下面是程序public class Add
    {
        public static boolean suShu(int n)//判断是否是质数,,
    {
    if(n==2)
    {
    return true;
    }
    else if(n<2)
    {
    return false;
    }
    else
    {
    boolean isRn=false;
    for(int j=2;j<n;j++)
    {
    isRn=true;
    if(n%j==0)
    {
    isRn=false;
    break;
    }
    }
    return isRn;
    }
    }
        
         public static void add()
    {
    for(int i=4;i<=10;i=i+2)
    {
    int a,b=0;
    for(a=2;a<i;a++)
    {
    boolean b1=suShu(a);
    if(b1)
    {
    b=i-a;
    boolean b2=suShu(b);
    if(b2)
    {
    System.out.println(i+"="+a+"+"+b);
    }
    }
    }
    }
    }
    }
      

  2.   

    重新发下..上面的是10以内的..我测试的时候改小了public class Add
    {
    public static boolean suShu(int n)//判断是否是质数,,
    {
    if(n==2)
    {
    return true;
    }
    else if(n<2)
    {
    return false;
    }
    else
    {
    boolean isRn=false;
    for(int j=2;j<n;j++)
    {
    isRn=true;
    if(n%j==0)
    {
    isRn=false;
    break;
    }
    }
    return isRn;
    }
    }
    public static void add()
    {
    for(int i=4;i<=2000;i=i+2)
    {
    int a,b=0;
    for(a=2;a<i;a++)
    {
    boolean b1=suShu(a);
    if(b1)
    {
    b=i-a;
    boolean b2=suShu(b);
    if(b2)
    {
    System.out.println(i+"="+a+"+"+b);
    }
    }
    }
    }
    }
    public static void main(String[] args) {
                add();
            }
    }