素数的定义 素数又被称为质数,就是大于1的自然数中,除了1和它本身以外不再有其他因数。 比如2=1×2;5=1×5......
我们要知道 一个大于二的偶数 总可以表示为两个素数之和
一.首先定义一个函数来判断输入的数是否为素数
定义函数 is_PrimeNumber
代码展示:
bool is_PrimeNumber(int num)
{
if (num > 2)
{
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
else
return true;
}
if 分支下的for循环用于试除用小于num的数进行试除 但凡num%i 则返回false直接退出判断函数
二.如果为大于二的偶数 打印素数之和的组合
创建一个新的函数PrintResult来打印结果(需要嵌套调用is_Prime Number)
代码展示:
void PrintResult(int num)
{
if (is_PrimeNumber(num))
{
cout << "是素数" << endl;
}
else
{
for (int i = 1; i <= num / 2; i++) //将num拆分为i和num-i且两数字均小于num/2
{
if (is_PrimeNumber(i) && is_PrimeNumber(num - i))//判断i与num-i是否均为素数 是则输出
{
printf("%d+%d=%d\n", i, num - i, num);
}
}
}
}