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 ...
随机推荐
- 二、点击导出按钮创建excle写入内容后下载功能实现
/*涉及的jar包1)biframework.jar用于实现分页功能2)poi-3.7-20101029.jar:读取.创建.修改excle.word.ppt的Java APIApache POI是创 ...
- redis api-hash
- Linux centosVMware yum更换国内仓库源、yum下载rpm包、源码包安装
一.yum更换国内仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163. ...
- R语言 使用rmarkdown写代码
1.如果是第一次新建markdown文件,需要在有网的条件下,因为要下载一个包才能用markdown 2.为什么使用rmarkdown 使用markdown不仅可以边调试边运行,还可以一次性将所调试好 ...
- intent 跳转
一.不需要返回值的跳转 Intent intent=new Intent(); intent.setClass(目前的acitivy.this, 目标activity.class); startAct ...
- 解决modelsim破解在win10下无法生成license
显示没有找到mgls.dll,此时,这个教程能够帮助你. 1.右击搜索结果cmd,选择以管理员身份运行 2. 打开win64(进入安装目录的win64),也就是两个破解文件所在的路径,输入cd win ...
- jsp中获取attribute
value="<%=request.getSession().getAttribute("username")%>"
- 说说我对SQL语句执行顺序的理解,以SQL Server为例
有人说SQL语句难学,其实并不难!只要掌握了基本的语句执行顺序,用程序化的思维分析结构,再难的问题也会迎刃而解! 假设有如下表emp 现在要求 列出员工姓名(ename)中不含A的所有人按照部门编号( ...
- 关于Essay写作的Tips及整体讲解
Essay,相信在国外留学的小伙伴们都不会陌生,无论你是读本科还是硕士,甚至是读中学,都要经历Essay写作,也就是我们的小论文.那么,无论你是开始了英国学校的学习还是将要开始,你对Essay写作的了 ...
- uni-app小程序组建
(1)新建组建:编辑器右击 新建组建 (2)传值 <template> <view class="myRankingList"> <block v-f ...