素数

简介:  没啥好说的,求质数的话,有几种方法,一种是筛。另外一种是质数判定。筛的话,就是用一个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. }  
目录
相关文章
求101-200以内的素数
素数就是除了它本身以及1之外不能被其他数整除基本思路是,循环101-200之间的数字,让每一个数字都去循环除以2到它本身的数字,设定条件,这样一个循环后,总会取模为0,(任何数除以它本身都能整除),取模为0后进行判断,如果使它等于0的数是它本身,那么意味着除了2和它本身,不能被其他数整除,那么这个数就是素数。 代码如下: public class Sushu { public
1037 0
NYOJ 187(快速素数)
//筛法是把不是素数的数标记掉,因此先要默认全为素数,先打表,不要每次打表 #include #include #include #define N 2000001 int visit[N]; void shaifa() { int i,j; int m=(int)(sqrt(N)+0.
850 0
wustojc5004素数
wustojc5004素数
60 0
|
4月前
素数
【10月更文挑战第23天】素数。
57 5
|
机器学习/深度学习 C语言
【C素数】素数(质数)和分解质因数
【C素数】素数(质数)和分解质因数
161 0
【C素数】素数(质数)和分解质因数
|
机器学习/深度学习 人工智能
11:回文素数
11:回文素数总时间限制:5000ms内存限制:65536kB描述 一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数, 如121,1221,15651都是回文数。给定位数n,找出所有既是回文数又是素数的n位十进制数。
1364 0