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.例如给定字符串" ...
随机推荐
- 五十三、SAP中创建一个LVC表格
一.我们打开之前的程序,在函数里面创建一个名字为SHOW_DATA_LVCE的函数 二.点击编辑->模式 三.选择'REUSE_ALV_GRID_DISPLAY_LVC' 四.选择调用功能,点击 ...
- SignalR实现页面实时监控
1.页面截图
- C#文本操作
1.使用FileStream读写文件 文件头: 复制代码代码如下: using System;using System.Collections.Generic;using System.Text;us ...
- 十、React 父组件传来值的类型控制propTypes、父组件如果不传值defaultProps
父组件给子组件传值时: 1.defaultProps:父子组件传值中,如果父组件调用子组件的时候不给子组件传值,可以在子组件中使用defaultProps定义的默认值: 2.propTypes:验证父 ...
- Python MySQL Join
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- java基础源码 (4)--reflect包-AnnotatedElement接口
接口:AnnotatedElement * Represents an annotated element of the program currently running in this * VM. ...
- JavaScript面试题(转)
JS相关问题 数组去重 function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++) ...
- 二十九、CI框架之session用法
一.我们在控制器中添加session写入和读取的2个函数,如图: 二.我们用浏览器访问login页面,可以看到有一串被加密的cookies,在CI中session也是以cookies的方式存放的 三. ...
- CSS绘制小三角
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Golang---序列化和反序列化
为什么要序列化和反序列化 我们的数据对象要在网络中传输或保存到文件,就需要对其编码和解码动作,目前存在很多编码格式:json, XML, Gob, Google Protocol Buffer 等, ...