小白写了一个判断素数的萌萌的函数代码段,该怎么解决

小白写了一个判断素数的萌萌的函数代码段
功能就是输入一个数,如果不是素数,就会返回1;如果是素数,就会返回原值。

double JudgePrimeNum(double NumX)
{
int more;
if(int(NumX)%2!=0)
{
for(int i=1;i<=sqrt(NumX);i+=2)
{

more=(int(NumX)%i);
if(more==0)
{

return 1;

}

}

}
else
{

return 1;

}

return NumX;

}

这样写的话,执行效率高吗?
1.已经排出了偶数。
2.仅仅尝试去整除小于原数值平方根的奇数。

还没学数组,不会用筛法。
------解决思路----------------------
double JudgePrimeNum(double NumX)
{
int more;
if(NumX!=2)
{
if(int(NumX)%2!=0)
{
for(int i=3;i<=sqrt(NumX);i+=2)
{

more=(int(NumX)%i);
if((more==0)&&(i>3))
{

return 1;

}

}

}
else
{

return 1;

}
}
return NumX;

}

------解决思路----------------------
Finding prime numbers - Kenneth Haugland
Different schemas for finding prime numbers explained with code
http://www.codeproject.com/Article.aspx?tag=198374988322054872&