今晚的月色温柔

导航

哥德巴赫猜想

c++代码:

#include <iostream>

using namespace std;

int getBigEvenNumber()//getBigEvenNuber函数是一个返回值为大于2的偶数的函数。即如果输入的值是奇数或小于2的偶数则需要重新输入,直到输入符合要求的数才返回

{int a;

       cin>>a;

while(!(a%2==0&&a>2))

              cin>>a;       //重新输入a

 return a;

}

 

int prime(int a)

       {int i;

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

       {

              if(a%i==0)

                     return false;

       }

              return true;

}

      

void testGoldbach(int a)//testGoldbach函数是一个无返回值的函数,只输出含有符合条件的最小、最大的两个素数的和形式的表达式

{

       int i;

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

{

if(prime(i)&&prime(a-i))

{

cout<<a<<"="<<i<<"+"<<a-i<<endl;

break;

}

}

}

int  main(){

        int  a;

        a=getBigEvenNumber();//getBigEvenNuber函数是一个返回值为大于2的偶数的函数。即如果输入的值是奇数或小于2的偶数则需要重新输入,直到输入符合要求的数才返回

        testGoldbach(a);//testGoldbach函数是一个无返回值的函数,只输出含有符合条件的最小、最大的两个素数的和形式的表达式

        return  0;

}

java代码

输入10

输出 10=3+7

package fuxi;
import java.util.Scanner;
public class xiangqingshu {
static int f(int a)
{
boolean f=true;
if(a<2)return 0;
else
{
for(int i=2;i<=a/2;i++)
{if(a%i==0)
f=false;
break;
}
}
if(f)
{return 1;}
else
{return 0;}
}
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int n=in.nextInt();
for(int i=2;i<n;i++) {
if((f(i)==1)&&(f(n-i)==1)) {
System.out.println(n+"="+i+"+"+(n-i));
break;
}
}
}
}

posted on 2020-12-12 16:29  1022  阅读(306)  评论(0编辑  收藏  举报