B1013】的更多相关文章

PAT B1013 标签(空格分隔): PAT 解法:埃氏筛法 注意点: 1. 由于不知道第n个素数有多大,所以要用一个大的数组来储存结果. 2. 注意输出格式,末尾不能有多余空格 #include <cstdio> const int maxn = 1000001; int prime[maxn], num = 0; bool p[maxn] = {0}; void Find_Prime(int n) { for(int i = 2; i < maxn; i++) { if(p[i]…
B1013 数素数(20分) 令 \(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…
用埃氏筛筛出素数表(节约时间) 素数的筛选范围不能小了,一定要够大 #include<stdio.h> int main(){ int N,M;scanf("%d %d",&M,&N); int pnum=0,num=0; bool hashtable[1000000]={0}; for(int i=2;i<1000000;i++){ if(hashtable[i]==false){//如果没有被筛去 pnum++; if(pnum>=M&…
令 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 #incl…
1013 数素数 (20 分) 令 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…
这种方法是采用B1017的那个求素数的算法,并且送一个比较大的数值当作上线(20000),也可以进一步压缩,但是这个数已经够用了,就没有再试了. python方便是方便,但是真的慢 def isPrime(n, result): flag = [1] * (n+2) p = 2 while( p <= n): result.append(p) for i in range(2*p, n+1, p): flag[i] = 0 while 1: p += 1 if (flag[p] == 1): b…
python语言运行这道题有一个点运行超时,需要对求素数的算法进一步的优化 def isPrime(n): if n <= 1: return False i = 2 while i * i <= n: if n % i == 0: return False i += 1 return True if __name__ == "__main__": str = input().split() m = int(str[0]) n = int(str[1]) prime = […
输入样例: 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 解题思路: 从2开始查找,如果查找的数的个数在n到m之间就输出,并且需要一个计数器来计算输出数的个数,如果个数是10的整数倍,就输出换行. #include<iostream> #include<cmath> using namespace std; bool IsPrime(int n) { if (n…
注意:java提交PAT时,不需要加package : 类名必须是Main. 1001 害死人不偿命的(3n+1)猜想 (15) 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值. 输出格式:输出从n计算到1需要的步数. 思路一: 1)当n=1的时候,直接输出步数0: 2)当n>1的时候,判断n为偶数时,将其除以2:奇数时,令n为(3n+1)/2;如此循环直到n=1.每循环一次则步数+1: 3)输出步数 #include <stdio.h> //输入:每个测试输入包含1个测试用…