素数

简介:  没啥好说的,求质数的话,有几种方法,一种是筛。另外一种是质数判定。筛的话,就是用一个bool数组,每次把倍数设置上,大概这样: [cpp] view plaincopy for (i = 2; i
 没啥好说的,求质数的话,有几种方法,一种是筛。另外一种是质数判定。筛的话,就是用一个bool数组,每次把倍数设置上,大概这样:
[cpp]  view plain copy
  1. for (i = 2; i <= n; ++i) {  
  2.       if (!mark[i]) { //是质数  
  3.              for (j = i * i; j <= n; j += i) {  
  4.                   mark[j] = true//合数  
  5.          }  

如果质数判定的话,暴力的方法可以判定,这题范围那么小,就暴力吧。当然也可以把sqrt(n)的质数表打出来,试图分解质因数。暴力的判定方法,大概这样:

[cpp]  view plain copy
  1. bool isPrime(int n) {  
  2.   
  3. int i;  
  4. for (i = 2; i * i <= n; ++i) {  
  5.        if (n % i == 0) { //合数  
  6.           return false;  
  7.        }  
  8. }  
  9. return true;  
  10. }  
目录
相关文章
|
4月前
质数
【10月更文挑战第22天】质数。
192 67
|
4月前
素数
【10月更文挑战第23天】素数。
57 5
|
5月前
判断一个素数能被几个9整除
【10月更文挑战第10天】判断一个素数能被几个9整除。
60 2
wustojc5004素数
wustojc5004素数
60 0
|
机器学习/深度学习 C语言
【C素数】素数(质数)和分解质因数
【C素数】素数(质数)和分解质因数
161 0
【C素数】素数(质数)和分解质因数
输出100以内的素数(质数)
输出100以内的素数(质数)
206 0
求自定义范围内的素数(质数)
判定数字是质数需要循环判断 因此需要定义(flag)用于记录循环的结果 结果如图
99 0
求自定义范围内的素数(质数)
求100以内质数或者更多
求100以内质数或者更多
121 0