格式:要求输入一个偶数,你负责找出所有能够分解质数解。
如6 = 3+3
#include<iostream>
using namespace std;
// 判断是否为质数 num为传入的要判断的数
bool isPrime(int num)
{
if (num == 2)
return true;
bool flag = true;
for (int i = 2; i <= num / 2+1; i++)
{
if (num % i == 0)
{
flag = false; break;
}
}
return flag;
}
int main()
{
int even; // 偶数
cout << "输入>=4的偶数:\t";
while (cin >> even && even!=0) // 可以一直输入判断,直到你将even赋值为0
{
// 要证明a + b = even;
for (int a = 2; a <= even / 2 + 1; a++)
{
if (isPrime(a))
{
int b = even - a;
if (isPrime(b))
cout << "就决定是你了!\t" << a << "+" << b << "=" << even << endl;
}
}
}
system("pause");
}
真的是献丑了,已经半年不做算法题了,水平已为菜鸡。碰到一个外省其他专业同学问我这题…还好不难。