线性筛
This commit is contained in:
parent
b602b04036
commit
b318babe9b
|
@ -0,0 +1,17 @@
|
|||
# 『入门』(递归专题)纯粹素数
|
||||
|
||||
[问题描述]
|
||||
|
||||
教学案例,必须使用递归函数完成求解!
|
||||
|
||||
纯粹素数,即一个正整数,它是素数,然后去掉其最高位,剩下的数值还是素数,再去掉余下数值的最高位,其还是素数,重复如此,直至还剩下个位,其还是素数。则满足该条件的原整数即为纯粹素数。
|
||||
|
||||
[输入格式]
|
||||
一个整数值n(10 <= n <= 10^6)。
|
||||
|
||||
[输出格式]
|
||||
按从小到大的顺序,一行一个,输出大于等于10,小于等于n之间的所有纯粹素数。
|
||||
|
||||
[输入样例]
|
||||
|
||||
[输出样例]
|
|
@ -0,0 +1 @@
|
|||
#
|
|
@ -0,0 +1,16 @@
|
|||
//weiwancheng
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
int n,f[10001]={0};
|
||||
cin>>n;
|
||||
f[1]=2;
|
||||
f[2]=3;
|
||||
f[3]=5;
|
||||
f[5]=7;
|
||||
int tou=4,wei=5;
|
||||
do{
|
||||
tou++;
|
||||
}while(tou<wei)
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
## z:\Chao\src\Template\test\in.txt
|
||||
2020/03/14 ÖÜÁù 11:41:28.68
|
||||
Hello Easy C++ project!
|
||||
|
||||
-----------------------------------------------
|
||||
Process exited after 200 ms with return value 0
|
||||
|
|
@ -1,28 +1 @@
|
|||
# 【东莞中学2013暑假训练题(一)】Window
|
||||
|
||||
题目描述
|
||||
给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表:
|
||||
|
||||
|
||||
|
||||
你的任务是找出窗口在各位置时的max value,min value。
|
||||
输入输出格式
|
||||
输入格式:
|
||||
第1行:n,k。
|
||||
第2行:长度为n的数组。
|
||||
|
||||
输出格式:
|
||||
2行,第1行每个位置的min value,第2行每个位置的max value。
|
||||
|
||||
输入输出样例
|
||||
输入样例#1:
|
||||
8 3
|
||||
1 3 -1 -3 5 3 6 7
|
||||
输出样例#1:
|
||||
-1 -3 -3 -3 3 3
|
||||
3 3 5 5 6 7
|
||||
提示信息
|
||||
数据范围:
|
||||
20%: n<=500;
|
||||
50%: n<=100000;
|
||||
100%: n<=1000000。
|
||||
#
|
|
@ -1,3 +1,28 @@
|
|||
# 标题
|
||||
# 【东莞中学2013暑假训练题(一)】Window
|
||||
|
||||
* 内容
|
||||
题目描述
|
||||
给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表:
|
||||
|
||||
|
||||
|
||||
你的任务是找出窗口在各位置时的max value,min value。
|
||||
输入输出格式
|
||||
输入格式:
|
||||
第1行:n,k。
|
||||
第2行:长度为n的数组。
|
||||
|
||||
输出格式:
|
||||
2行,第1行每个位置的min value,第2行每个位置的max value。
|
||||
|
||||
输入输出样例
|
||||
输入样例#1:
|
||||
8 3
|
||||
1 3 -1 -3 5 3 6 7
|
||||
输出样例#1:
|
||||
-1 -3 -3 -3 3 3
|
||||
3 3 5 5 6 7
|
||||
提示信息
|
||||
数据范围:
|
||||
20%: n<=500;
|
||||
50%: n<=100000;
|
||||
100%: n<=1000000。
|
|
@ -0,0 +1,30 @@
|
|||
# P3383 【模板】线性筛素数
|
||||
题目背景
|
||||
本题已更新,从判断素数改为了查询第 kk 小的素数
|
||||
提示:如果你使用 cin 来读入,建议使用 std::ios::sync_with_stdio(0) 来加速。
|
||||
|
||||
题目描述
|
||||
如题,给定一个范围 nn,有 qq 个询问,每次输出第 kk 小的素数。
|
||||
|
||||
输入格式
|
||||
第一行包含两个正整数 n,qn,q,分别表示查询的范围和查询的个数。
|
||||
|
||||
接下来 qq 行每行一个正整数 kk,表示查询第 kk 小的素数。
|
||||
|
||||
输出格式
|
||||
输出 qq 行,每行一个正整数表示答案。
|
||||
|
||||
输入输出样例
|
||||
输入 #1复制
|
||||
100 5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
输出 #1复制
|
||||
2
|
||||
3
|
||||
5
|
||||
7
|
||||
11
|
|
@ -0,0 +1 @@
|
|||
#
|
|
@ -0,0 +1,34 @@
|
|||
#include <iostream>
|
||||
#include<cstdio>
|
||||
using namespace std;
|
||||
bool pan[100000001] = { 0 };
|
||||
int chu[1000001] = { 0 }, now = 0;
|
||||
//线性筛
|
||||
void findsu(int n){
|
||||
for (int i = 2; i <= n; i++) {
|
||||
if (!pan[i]) {
|
||||
chu[++now] = i;
|
||||
}
|
||||
|
||||
for (int j = 1; j <= now && i * chu[j] <= n; j++) {
|
||||
pan[i * chu[j]] = 1;
|
||||
//重要!!确保用最大的因数来乘如用6*2=12而避免4*3=12重复计算
|
||||
if (i % chu[j] == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n, e;
|
||||
|
||||
scanf("%d%d",&n,&e);
|
||||
|
||||
findsu(n);//筛出素数
|
||||
|
||||
for (int i = 1; i <= e; i++) {
|
||||
scanf("%d",&n);
|
||||
printf("%d\n",chu[n]);
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
100 5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
|
@ -0,0 +1,6 @@
|
|||
100000000 5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
|
@ -0,0 +1,6 @@
|
|||
100000 5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
|
@ -0,0 +1,28 @@
|
|||
## z:\Chao\src\lg3383_no.sushu\test\in.txt
|
||||
2020/04/25 ÖÜÁù 10:18:41.40
|
||||
2
|
||||
3
|
||||
5
|
||||
7
|
||||
11
|
||||
|
||||
-----------------------------------------------
|
||||
Process exited after 200 ms with return value 0
|
||||
|
||||
## z:\Chao\src\lg3383_no.sushu\test\in2.txt
|
||||
2020/04/25 ÖÜÁù 10:18:41.40
|
||||
|
||||
-----------------------------------------------
|
||||
Process exited after 1520 ms with return value -1073741819
|
||||
|
||||
## z:\Chao\src\lg3383_no.sushu\test\in3.txt
|
||||
2020/04/25 ÖÜÁù 10:18:41.40
|
||||
2
|
||||
3
|
||||
5
|
||||
7
|
||||
11
|
||||
|
||||
-----------------------------------------------
|
||||
Process exited after 90 ms with return value 0
|
||||
|
Loading…
Reference in New Issue