【PAT】(乙级)1013. 数素数 (20)
来源:互联网 发布:三岛由纪夫 禁色 知乎 编辑:程序博客网 时间:2024/06/05 00:08
1013. 数素数 (20)
- 时间限制 100 ms
- 内存限制 65536 kB
- 代码长度限制 8000 B
- 判题程序 Standard
- 作者 CHEN, Yue
一、题目
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103
二、Tips
Tips: 难过,Java又超时。
三、代码
#include<iostream>#include<cstring>#include<cstdio>#include<ctime>#include<algorithm>using namespace std;bool visit[10100000];int prime[10050];void init_prim(int n){ memset(visit, true, sizeof(visit)); int num = 0; for (int i = 2; num <= n; ++i){ if (visit[i] == true){ num++; prime[num] = i; } for (int j = 1; ((j <= num) && (i * prime[j] <= 10100000)); ++j){ visit[i * prime[j]] = false; if (i % prime[j] == 0) break; } }}int main(){ memset(prime, 0, sizeof(prime)); int n,m; cin>>m; cin>>n; init_prim(n); for(int i = m,j=1; i <= n; ++i,j++){ if(j%10==0||i==n){ cout<<prime[i]<<endl; }else{ cout<<prime[i]<<" "; } } return 0;}
import java.util.Arrays;import java.util.Scanner;/** * 1013. 数素数 (20) * https://www.patest.cn/contests/pat-b-practise/1013 * Created by Relish on 2016/8/6. */public class _1013 { private static int[] prime; private static void initPrime(int n) { prime = new int[n + 1]; boolean[] visit = new boolean[10005]; Arrays.fill(visit, true); int num = 0; for (int i = 2; num < n; ++i) { if (visit[i]) { num++; prime[num] = i; } for (int j = 1; ((j <= num) && (i * prime[j] <= 10100000)); ++j) { visit[i * prime[j]] = false; if (i % prime[j] == 0) break; //点睛之笔 } } } public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); int m = cin.nextInt(); initPrime(m); for (int i = n, j = 1; i <= m; ++i, j++) { if (j % 10 == 0 || i == m) { System.out.println(prime[i]); } else { System.out.print(prime[i] + " "); } } }}
0 0
- 【PAT】(乙级)1013. 数素数 (20)
- PAT-乙级 1013.数素数(20)
- PAT 乙级 1013. 数素数 (20)
- PAT-乙级-1013. 数素数 (20)
- PAT乙级.1013. 数素数 (20)
- 1013. 数素数 (20)-PAT乙级
- PAT乙级 1013. 数素数 (20)
- PAT乙级1013. 数素数 (20)
- [PAT乙级]1013. 数素数 (20)
- PAT 乙级练习题1013. 数素数 (20)
- 1013. 数素数 (20)--PAT乙级
- PAT乙级1013. 数素数(20)
- PAT(乙级)1013. 数素数
- PAT(乙级)1003 数素数 (20)
- PAT乙级 1013. 数素数
- PAT 乙级 1013. 数素数
- [PAT-乙级]1013.数素数
- PAT乙级 数素数 (20)
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- Android进阶系列1—View的事件分发体系
- logback 配置详解
- binutils 工具: strings 简单分析
- NSTimer
- 【PAT】(乙级)1013. 数素数 (20)
- UML解惑:图说UML中的六大关系
- LeetCode #349
- Can't call rollback when autocommit=true
- 如何通过maven库查找pom中dependency
- OJ------超长整数相加
- POJ 2481Cows 树状数组
- GDB下查看内存命令(x命令)
- 在java中运行Bat批处理