荣誉版主
- 积分
- -2403
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2010-5-4
- 最后登录
- 1970-1-1
|
bool IsPrime(int a[], int num);
int InputPrime(int a[], int n)
{
assert(a && n>0);
if (1 == n) return 1;
if (2 == n) return 2;
a[0] = 1;
a[1] = 2;
int nRet = 2;
for (int i = 3; i <= n; i++)
{
if (IsPrime(a, i))
a[nRet++] = i;
}
return nRet;
}
//Those none prime number has at least one prime factorial
bool IsPrime(int a[], int num)
{
for (int i = 1; a[i]*a[i] < num; i++)
{
if (num%a[i] == 0)
return false;
}
return true;
}
用素数找素数,
在判断一个数是不是素数的时候可以判断它是否能整除被已经找到的素数,因为任何数字如果不是素数的话一定能分解成素数×某个数 |
|