描述
任何大于6的偶数都可以分解成两个奇质数的和。输入n,输出所有解,按小的在前,大的在后输出,不要重复。
输入
每行输入包含一个测试用例,输入一个整数(能够用32位整数表示)。
输出
对符合要求的输入数据,依次输出所有解,每个解占一行,两个数用空格分隔。对输入不符合要求的数,则输出ERROR。
样例
输入
10
输出
3 7
5 5
#include<stdio.h>
int main(){
long int m;
scanf("%ld",&m);
if(m>=6&&m%2==0){
long int i=3;
long int x;
for(;i<m;i=i+2){
x=m-i;
int flag=1;
int fflag=1;
for(long int j=2;j<i;j++){
if(i%j==0){
flag=0;
}
}
for(long int k=2;k<x;k++){
if(x%k==0){
fflag=0;
}
}
if(x>=i){
if(flag==1&&fflag==1){
printf("%ld %ld\n",i,x);
}
}
if(i>x){
break;
}
}
}
else{
printf("ERROR\n");
}
return 0;
}