P1013 数素数
输入格式:
输入在一行中给出 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
这道题又把我写成
了,不知道为什么边界值会明明说好从n->M闭区间,结果是n-1到m-1的闭区间。(主要还是因为自己是个蒟蒻,太菜了(*/ω\*))
估计素数从-1开始数的吧。
这道题就是先打出素数的表,然后一个for查找输出n->m之间的素数,除了格式控制有点麻烦其他都还简单。关于求素数的方法,点击狗头,不在此处细讲。
代码:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <limits.h>
4 #define MAXSIZE (104743 + 500)
5
6 int Isprime[MAXSIZE];
7 int Prime[MAXSIZE];
8 int cnt;
9 void Euler_prime(int size);
10
11 int main(int argc, char const *argv[])
12 {
13 Euler_prime(MAXSIZE);
14
15 int start, end, count = 0;
16 ;
17 scanf("%d%d", &start, &end);
18
19 for (int i = start-1; i < end; i++)
20 {
21 count++;
22 printf("%d", Prime[i]);
23 if (10 == count)
24 {
25 putchar('\n');
26 count = 0;
27 continue;
28 }
29 if (end-1 == i)
30 {
31 continue;
32 }
33 putchar(' ');
34 }
35
36 return 0;
37 }
38
39 void Euler_prime(int size)
40 {
41 Isprime[0] = Isprime[1] = 1;
42 for (int i = 2; i <= MAXSIZE; i++)
43 {
44 if (!Isprime[i])
45 {
46 Prime[cnt++] = i;
47 }
48 for (int j = 0; j < cnt && i * Prime[j] < MAXSIZE; j++)
49 {
50 Isprime[i * Prime[j]] = 1;
51 if (!(i % Prime[j]))
52 {
53 break;
54 }
55 }
56 }
57 }
由于这道题c++和c的解法没什么区别,就不贴C++的代码了;
PTA不易,诸君共勉!
P1013 数素数的更多相关文章
- PAT乙级 1013. 数素数 (20)
1013. 数素数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 令Pi表示第i个素数.现任给两个正整 ...
- PAT-乙级-1013. 数素数 (20)
1013. 数素数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 令Pi表示第i个素数.现任给两个正整 ...
- 牛客网 PAT 算法历年真题 1003: 数素数 (20)
1003:数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整 ...
- PAT 1013 数素数 (20)(代码)
1013 数素数 (20)(20 分) 令P~i~表示第i个素数.现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数. 输入格式: 输入在一行中给出M和N, ...
- 【PAT】1013. 数素数 (20)
1013. 数素数 (20) 令Pi表示第i个素数.现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出格式 ...
- 【算法笔记】B1013 数素数
1013 数素数 (20 分) 令 Pi 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数. 输入格式: 输入在一行中给出 M 和 N, ...
- B1013 数素数(20分)
B1013 数素数(20分) 令 \(P_i\)表示第 i 个素数.现任给两个正整数 \(M≤N≤10^4\),请输出 \(P_M\)到 \(P_N\)的所有素数. 输入格式: 输入在一行中给出 M ...
- PAT(B) 1013 数素数(Java)
题目链接:1013 数素数 代码 /** * Score: 20 * Run Time: 124ms * @author wowpH * @version 1.0 */ import java.uti ...
- PAT_B数素数 (20)
数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整数M &l ...
随机推荐
- VS2008 error PRJ0002 : 错误的结果 31 (从“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe”返回)。
解决方案,选择属性->配置属性->清单工具->输入和输出->嵌入清单,把是改成否
- 用 lastIndexOf()、substr()、split()方法截取一段字符串
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索. split() 方法用于把一个字符串分割成字符串数组,抽取到分割符前面部分. subst ...
- JDBC--PreparedStatement使用
1. PreparedStatement是Statement的子接口,可以传入传入带有占位符的SQL语句,并且提供了相应的方法来替换占位符(setXxx(int index, Object value ...
- 搞懂G1垃圾收集器
一.G1 GC术语Overview 1.1 并发 并发的意思是Java应用执行和垃圾收集活动可以同时进行 1.2 并行 并行的意思是垃圾收集运算是多线程执行的,比如CMS垃圾收集器的年轻代就是并行的, ...
- SSH框架系列:Spring配置多个数据源
分类: [java]2013-12-09 16:59 1247人阅读 评论(0) 收藏 举报 1.问题的引入 对于普通的SSH框架而言,一般配置一个数据源,一个SessionFactory,一个事务管 ...
- javac导出参考文档报错 错误: 编码GBK的不可映射字符”
- 设备树DTS 学习:2-设备树语法
背景 通过上一讲了解完设备树DTS有关概念,我们这一讲就来基于设备树例程,学习设备树的语法规则. 参考:设备树详解dts.设备树语法详解.设备树使用总结 设备树框架 1个dts文件 + n个dtsi文 ...
- idea 将部分class文件打包成jar使用
工作中有时候有太多模块堆放一块比较混乱,将某个功能(例如:三方支付)所需要的模块打包成jar使用起来会方便点. 步骤如下: 选择 Empty,然后为自己打的jar起个名字 然后在myjar上面右键 创 ...
- R box-cox变换 《回归分析与线性统计模型》page100
> rm(list = ls()) > library(openxlsx) > electric= read.xlsx("data101.xlsx",sheet ...
- java虚拟机05(Java虚拟机的参数)
原文在此 (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免堆自动扩展. ...