暴力法
void PrimeNum(int n) { int m=0; for(int i=2;i<n;i++){ if(n%i==0) m++; } if(m==0) cout<<"是素数”<<endl; else cout<<"不是素数"<<endl; }
为了减少循环判断的次数,提高执行效率,可将循环条件改为i<sqrt(n),但由于sqrt函数计算的结果是实数,将其值赋给整型变量时将进行类型转换,sqrt函数的计算和转换效率也低,因此可改为
void PrimeNum(int n) { int m=0,flag=1; for(int i=2;i*i<n;i++){ if(n%i==0) { flag=0; break; } } if(flag==1) cout<<"是素数”<<endl; else cout<<"不是素数"<<endl; }
求素数的方法
最新推荐文章于 2024-07-12 01:22:50 发布