我编写了两个程序并且工作正常,然后我开始了第三个,我必须检查两个数字是否为素数,如果A + 2 = BI必须使用两个函数并且最后返回true或false 。所以我写了一些东西并用数字a = 3运行程序,b = 7返回false,这很好,但是当我用a = 5和b = 7时,Codeblocks崩溃并说:“bool.exe已停止工作“。我不知道我的代码是否正确,并且无法理解为什么它的工作一次而另一次没有。这就是:
#include <iostream>
using namespace std;
bool prime(int n)
{
for(int i=0;i<n;i++)
{
if(n%i==0) return false;
}
return true;
}
bool sdvoeniprosti(int a, int b);
int main()
{
int a, b, result;
cin >> a >> b;
result=sdvoeniprosti(a, b);
if(result==1) cout << "true";
else cout << "false";
}
bool sdvoeniprosti(int a, int b)
{
if(a+2==b && prime(a)==true && prime(b)==true) return true;
return false;
}