#include<stdio.h>
#include<math.h>
#include <iostream>
using namespace std;
bool fun(int n)
{ int i;
for (i=2;n%i;i++);
if (n==i)return 1;
return 0;
}
void main()
{
int i,n,m;
for(n=0;n<=500;n+=2)
{
printf("%d\n",n);
for (i=2;i<=n;i++)
{
m=n-i;
// if(!m)
// printf("%d=%d+%d\n",n,i,m);
// else
if (fun(i)&&i<=m&&fun(m))
// if(fun(m))
printf("%d=%d+%d\n",n,i,m);
}
}
system("pause");
}
你试试这个,打印的很快,但是屏幕好像显示不下,你把2000改成100看看效果
#include<math.h>
#include <iostream>
using namespace std;
bool fun(int n)
{ int i;
for (i=2;n%i;i++);
if (n==i)return 1;
return 0;
}
void main()
{
int i,n,m;
for(n=0;n<=500;n+=2)
{
printf("%d\n",n);
for (i=2;i<=n;i++)
{
m=n-i;
// if(!m)
// printf("%d=%d+%d\n",n,i,m);
// else
if (fun(i)&&i<=m&&fun(m))
// if(fun(m))
printf("%d=%d+%d\n",n,i,m);
}
}
system("pause");
}
你试试这个,打印的很快,但是屏幕好像显示不下,你把2000改成100看看效果