素数的练习
#include<math.h> //素数的判断 bool isPrime(int n) { if (n <= 0) return false; //特判 int sqr = (int)sqrt(1.0 * n); for (int i = 2; i <= sqr; i++) { //遍历2-根号n if (n % i == 0) return Zfalse; } return true; } bool isPrime(int n) { //注意这样写当n接近int型变量上界时导致i*i溢出,所以可以用long long型 if (n <= 1) return false; for (int i = 0; i * i < n; i++) { if (n % i == 0) return false; } return true; } //素数表的获取 const int maxn = 101; int prime[maxn], pNum = 0; //prime[]存放所有的素数, pNum为素数的个数 bool p[maxn] = { 0 }; //p[i] == true表示i是素数 void Find_Prime() { for (int i = 1; i < maxn; i++) { if (isPrime(i) == true) { prime[pNum++] = i; p[i] = true; } } }