啊。素数的话大家都是知道的,例如:求出1~n中素数的个数。(判断是否为素数更简单,代码只需稍作修改如下)
最基本的操作就是将一个数,从2~sqrt(n) for(int i=1;i< sqrt(n);i++)
去遍历每一个因子能否被整除,由此判断其是否为素数。当然仔细思考一下,在1~n里所有的偶数我们是不是都不需要再考虑?好的去掉。那2-sqrt(n)之间还需要遍历遍历每一个因子吗?当然不需要,我们只用考虑奇数了,仔细想想。而且只需要从3开始判断。
ok下面是写成的函数
//定义一个全局变量储存个数
int cnt=0;
void isprime(int x)//如果只需要判断类型要改成int
{
int flag=1;
if(x==1||(x%2!=0&&x!=2)) flag=