输出的结果怎么不对?
//输出的质因子结果怎么不对,请帮忙改一下代码
#include <iostream.h>
#include <math.h>
bool check(int);
bool Primecheck(int);
void main()
{
cout<<"Prease input a num"<<endl;
int num;
cin>>num;
check(num);
if (check(num)) //true
cout<<"it is a prime"<<endl;
else //false
cout<<"it is not a prime"<<endl;
}
static bool check(int num)
{
for (int i=2; i<num; i++)
{
if (num%i==0)
{
if (Primecheck(i))
{
cout<<i<<endl;
}
return false;
}
}
return true;
}
static bool Primecheck(int i)
{
double a=i;
double sq=sqrt(a);
for (int j=2; j<=sq; j++)
{
if (i%j==0)
{
return false;
}
}
return true;
}