PAT Basic 1013

1013 数素数

令P~i~表示第i个素数。现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数。

输入格式:

输入在一行中给出M和N,其间以空格分隔。

输出格式:

输出从P~M~到P~N~的所有素数,每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  题解:这道题其实就是打素数表,输出P~M~到P~N~的所有素数,要注意格式问题,第一次提交格式有误有两个测试点没过。代码如下:
 1 #include<iostream>
 2 #include<math.h>
 3
 4 using namespace std;
 5
 6 bool f( int n)
 7 {
 8     if( n==1||n==0)
 9     return false;
10     if( n == 2)
11     return true;
12     for( int i = 2; i <=sqrt(n); i++)
13         if( n%i == 0)
14         return false;
15     return true;
16 }
17
18 int main()
19 {
20     int m,n,k = 0,i = 2,num = 0;
21     cin>>m>>n;
22     while(k < m - 1)
23     {
24         if(f(i))
25             k++;
26         i++;
27     }
28     while(k < n)
29     {
30         if(f(i))
31         {
32             if(!num)
33                 num = 1;
34             else
35                 cout<<" ";
36             k++;
37             cout<<i;
38             if( (k+1 -m) % 10 == 0){
39                 cout<<endl;
40                 num = 0;
41             }
42         }
43         i++;
44     }
45     return 0;
46 }


原文地址:https://www.cnblogs.com/yxp400/p/9448158.html

时间: 2024-08-29 21:49:01

PAT Basic 1013的相关文章

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个一行

PAT (Basic Level) Practise (中文) 1005

1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候,我们需要计算3.5.8.4.2.1,则当我们对n=5.8.4.2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重

PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)

读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的. 输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低

PAT Basic 1057 数零壹 (20 分)

给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0.4 个 1. 输入格式: 输入在一行中给出长度不超过 1.以回车结束的字符串. 输出格式: 在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔

PAT Basic Level 1013

1 #include <stdio.h> 2 #include <math.h> 3 int main () 4 { 5 int begin; 6 int end; 7 int cnt = 0; 8 scanf("%d %d",&begin,&end); 9 int i = 2; //i 作为素数 10 int j; //用来检验是否素数 11 int flag3 = 0; //用来检验该是否是素数 12 int flag = 0; //行显示5

PAT (Basic Level) Practise:1013. 数素数

[题目连接] 令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 提交代码: 1 #include <stdio.h&

PAT (Basic Level) Practise 1040 有几个PAT(DP)

1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P.A.T三种字母. 输出格式: 在一行中输出给定字符串中

PAT乙级 1013. 数素数 (20)

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 4

浙大PAT考试1013~1016(最伤的一次。。)

我能说我1016WA了几天都不得最后还是拿别人代码交的么. .. 真心找不到那个神数据.. . 自己把整个程序的流程都画出来了.细致推敲是木有问题的啊... 题目地址:点击打开链接 先从1013開始介绍. 题目大意:给你n个城市,m条路,k个询问.每次询问.是假设没有城市q1,,,qk其它城市链接在一起至少须要多少条路. 简单的并查集问题.对节点qi无论,其它的点用并查集.我们所要求的就是有多少个分量.ans个分量则须要ans-1条路就可以.详见代码: AC代码: #include<iostre