PAT Basic 1013 数素数 (20) [数学问题-素数]
题目
令Pi表示第i个素数。现任给两个正整数M <= N <= 10^4,请输出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
题目分析
打印从第m个质数到第n个质数之间所有质数,每10个一行
解题思路
- 建立质数表
- 打印从第m个质数到第n个质数之间所有质数
Code
Code 01
#include <iostream>
#include <cmath>
using namespace std;
int m,n;
bool isPrime(int v) {
if(v<=1)return false;
int sqr=(int)sqrt(1.0*v);
for(int i=2; i<=sqr; i++) {
if(v%i==0)return false;
}
return true;
}
int prime_table[1000010];
bool prime_bool[1000010];//1000010测试点4错误
void create_pt() {
int index = 1;
for(int i=2; i<1000010; i++) {
if(prime_bool[i]==false) {
prime_table[index++]=i;
for(int j=i+i; j<1000010; j+=i) {
prime_bool[j]=true;
}
}
if(index>n)break; //节省时间,最大为n,n后面不需要找了,
}
}
int main(int argc,char *argv[]) {
scanf("%d %d",&m,&n);
create_pt();
for(int i=1; m+i-1<=n; i++) {
if(i%10!=1)printf(" ");
printf("%d",prime_table[m+i-1]);
if(i%10==0)printf("\n");
}
return 0;
}
Code 02
#include <iostream>
#include <vector>
using namespace std;
bool isprime(int a) {
for (int i = 2; i * i <= a; i++)
if(a % i == 0) return false;
return true;
}
int main() {
int M, N, num = 2, cnt = 0;
cin >> M >> N;
vector<int> v;
while (cnt < N) {
if (isprime(num)) {
cnt++;
if (cnt >= M) v.push_back(num);
}
num++;
}
cnt = 0;
for (int i = 0; i < v.size(); i++) {
cnt++;
if (cnt % 10 != 1) printf(" ");
printf("%d", v[i]);
if (cnt % 10 == 0) printf("\n");
}
return 0;
}
PAT Basic 1013 数素数 (20) [数学问题-素数]的更多相关文章
- PAT Basic 1007 素数对猜想 (20) [数学问题-素数]
题目 让我们定义 dn 为:dn = pn+1 – pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在⽆穷多对 ...
- PAT Basic 1057 数零壹 (20 分)
给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...
- PAT Basic 1013 数素数 (20 分)
令 Pi 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输 ...
- PAT Basic 1034 有理数四则运算(20) [数学问题-分数的四则运算]
题目 本题要求编写程序,计算2个有理数的和.差.积.商. 输⼊格式: 输⼊在⼀⾏中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分⼦和分⺟全是整型范围内的整数, ...
- PAT Basic 1104 数字⿊洞 (20) [数学问题-简单数学]
题目 给定任⼀个各位数字不完全相同的4位正整数,如果我们先把4个数字按⾮递增排序,再按⾮递减排序,然后⽤第1个数字减第2个数字,将得到⼀个新的数字.⼀直重复这样做,我们很快会停在有"数字⿊洞 ...
- PAT乙级 1013. 数素数 (20)
1013. 数素数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 令Pi表示第i个素数.现任给两个正整 ...
- 【PAT】1013. 数素数 (20)
1013. 数素数 (20) 令Pi表示第i个素数.现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出格式 ...
- PAT(B) 1013 数素数(Java)
题目链接:1013 数素数 代码 /** * Score: 20 * Run Time: 124ms * @author wowpH * @version 1.0 */ import java.uti ...
- PAT乙级-1057. 数零壹(20)
给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串" ...
随机推荐
- jQuery获取display为none的隐藏元素的宽度和高度的解决方案
1.利用给元素添加行内样式:visibility:hidden;display:block 2.让隐藏元素变成有物理尺寸存在,但不可见,获取元素宽高 3.再给它还原成display为none,去除vi ...
- 实体映射-------AutoMapper
现在有2个实体(A.B),2个实体中的部分字段是相同的,现在把A实体获取的值赋值给B实体,利用AutoMapper实体映射可以轻松解决 参考 实体中不同名称之间的映射可以这样写 Mapper.Init ...
- JAVA中的指针
不同于CPP,JAVA中不需要程序员对指针进行操作.不过,这不代表JAVA没有指针,事实上,JAVA的指针操作都被底层代码封装了.笔者在初学Java时,虽然就了解了形参,实参,StringBuffer ...
- idea新建maven web项目
一.新建maven web项目 二.配置服务器 三.测试运行
- Bulma CSS - 模块化
Bulma CSS框架教程 Bulma CSS – 简介 Bulma CSS – 开始 Bulma CSS – CSS类 Bulma CSS – 模块化 Bulma CSS – 响应式 Bulma框架 ...
- spring第9天(事务)
依赖:spring-context,spring-jdbc(这个本身有依赖spring-tx,关于事务的),druid,mysql-connector-java,aspectjweaver五个 由于我 ...
- MFC消息映射及消息处理函数原型
MFC把消息主要分为三大类: 1. 标准Windows消息(WM_XXX) 2. 命令消息(WM_COMMAND):凡由UI对象产生的消息都是这种命令消息,可能来自菜单或加速键或工具栏按钮. 3. 控 ...
- bzoj 2306
%%%%http://blog.csdn.net/popoqqq/article/details/43926365 #include<bits/stdc++.h> #define INF ...
- (1) JVM内存管理:内存模型
引子 一段简单的代码结果引发疑问,==到底比较的是什么?equals呢? public static void main(String args[]){ String s1="abc&quo ...
- Session简单介绍
Session 会话 , Session是基于Cookie的一种会话机制. Cookie是服务器返回一小份数据给客户端,并且存放在客户端上. Session是,数据存放在服务器端. 常用API //得 ...