Code
#include <stdio.h>
#include <math.h>
int isPrime(int x)
{
int i;
for(i=2; i<=sqrt(x); i++)
{
if(x % i == 0)
break;
}
if(i > sqrt(x))
return 1;
else
return 0;
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=3; i<n; i++)
{
if(isPrime(i) && isPrime(n-i))
{
printf("%d=%d+%d\n",n,i,n-i);
break;
}
}
return 0;
}
反思:前期学习函数时卡得比较久的一道题,其实明白后很简单,写一个判断素数的函数,将n拆成两个数,第一个数从3开始遍历,每次都判断i和n-i是否为素数,如果找到一组素数之和为n就输出,因为只要输出第一个小的素数组,所以跑一遍即可。