11:回文素数 11:回文素数 查看 提交 统计 提问 查看 提交 统计 提问 总时间限制: 5000ms 内存限制: 65536kB描述一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121,1221,15651都是回文数。给定位数n,找出所有既是回文数又是素数的n位十进制数。 ...
分类:
其他好文 时间:
2017-03-10 15:15:48
阅读次数:
265
首先,列出从2开始的所有自然数,构造一个序列: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ... 取序列的第一个数2,它一定是素数,然后用2把序列的2的倍数筛掉: 3, 4, 5, 6, 7, 8, 9, ...
分类:
编程语言 时间:
2017-02-19 12:05:02
阅读次数:
192
问:求2000以内的素数? 筛法求素数 和 暴力 时间复杂度 筛法求素数:O(N^2) 暴力:O(N^N) 原理: 去掉1,最小的数是素数,然后将最小数的倍数全部去掉,直到最小的数到达范围为止 用筛子把非素数全部筛出去。 bool是C++中的一种数据类型 0代表false 1代表true bool一 ...
分类:
其他好文 时间:
2017-02-12 15:49:02
阅读次数:
139
素数必然符合题意。 对于合数,如若它是某个素数x的k次方(k为某个素数y减去1),一定不符合题意。只需找出这些数。 由约数个数定理,其他合数一定符合题意。 就从小到大枚举素数,然后把它的素数-1次方都排除即可。 ...
分类:
其他好文 时间:
2017-02-02 19:56:20
阅读次数:
542
欧拉筛法求素数 首先,我们知道当一个数为素数的时候,它的倍数肯定不是素数。所以我们可以从2开始通过乘积筛掉所有的合数。 将所有合数标记,保证不被重复筛除,时间复杂度为O(n)。代码比较简单↓_↓ if(i % prime[j] == 0) break;←_←这一步比较难理解解释: 首先,任何合数都能 ...
分类:
其他好文 时间:
2016-11-06 02:50:01
阅读次数:
109
时间复杂度O(n)当n比较大时欧拉筛法所用的时间比O(nloglogn)的算法的时间少的会越来越明显 为什么呢? 因为在欧拉筛法中,每一个合数只被访问并将其所对的f[]的值修改了一次。 ...
分类:
其他好文 时间:
2016-09-25 17:32:20
阅读次数:
201
题目链接 http://acm.hust.edu.cn/vjudge/problem/19411 解题思路 快速幂, 筛法求素数。 代码 ...
分类:
其他好文 时间:
2016-09-02 23:13:11
阅读次数:
218
线性筛法求素数 普通的筛法求素数有些数字会被重复筛掉,例如:2*6=12,3*4=12,12就被重复筛。 线性筛法求素数,是为了排除重复的情况 题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1181 每一个数字 ...
分类:
其他好文 时间:
2016-08-13 14:12:41
阅读次数:
142
5.1 数组 类型名 数组名[元素个数],其中“元素个数”必须是常量或常量表达式,不能是变量,也必须是正整数。 数组元素在内存里一个挨一个连续存放。 5.2 筛法求素数 空间换时间,加快计算速度。 5.3 数组的初始化 初始化时,{}中值的个数可以小于元素个数。相当于只给前面部分元素赋值,而后面的元 ...
分类:
其他好文 时间:
2016-07-12 15:17:34
阅读次数:
335
题目大意:给出 p ,q, r, s这四个数,C(m, n) = m! / (m ? n)! n! ,让你求解 C(p, q)
by C(r, s) ,即两个阶乘相除。
思路:( p!*s!*(r-s)! ) /( q!*(p-q)!*r! )
筛法求素数,唯一分解定理,用函数实现,从而求其各种阶乘,代码如下
#include//唯一分解定理
#inc...
分类:
其他好文 时间:
2016-05-27 12:02:48
阅读次数:
188