哥德巴赫猜想
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;
}
}
}
}