PAT Basic 1013. 数素数 (20)(C语言实现)
来源:互联网 发布:ppt2010软件官方下载 编辑:程序博客网 时间:2024/06/05 02:28
题目
令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
思路
也没有什么难度,注意下什么时候开始输出,什么时候换行。
和1007. 素数对猜想 (20) (C语言实现)一样,验证素数的时候,利用前面已经算出的素数,能够将验证次数降到最低。
代码
最新代码@github,欢迎交流 ^_^
#include <math.h>#include <stdio.h>int main(){ int M, N; scanf("%d %d", &M, &N); int primes[10000]; for(int n = 2, count = 0; count < N; n++) { int iprime = 1; for(int j = 0; count > 0 && primes[j] <= sqrt(n); j++) if(n % primes[j] == 0) iprime = 0; if(iprime) primes[count++] = n; } for(int i = M; i < N; i++) { printf("%d", primes[i - 1]); printf((i - M + 1) % 10 ? " " : "\n"); } printf("%d", primes[N - 1]); return 0;}
阅读全文
0 0
- PAT Basic 1013. 数素数 (20)(C语言实现)
- PAT (Basic Level) Practise (中文)1013. 数素数 (20) C语言
- PAT Basic 1064. 朋友数(20)(C语言实现)
- 【C++】浙大PAT (Basic Level)1013. 数素数 (20)
- PAT Basic 1007. 素数对猜想 (20) (C语言实现)
- PAT BASIC LEVEL 1013. 数素数 (20)
- PAT Basic Level 1013. 数素数(20)
- PAT (Basic Level) Practise (中文)1013. 数素数 (20)
- PAT (Basic Level) Practise (中文) 1013. 数素数 (20)
- PAT (Basic Level) Practise (中文)1013. 数素数 (20)
- PAT (Basic Level) Practise (中文)1013. 数素数 (20)
- 1013. 数素数(PAT Basic)
- PAT Basic 1002. 写出这个数 (20)(C语言实现)
- PAT Basic 1023. 组个最小数 (20)(C语言实现)
- PAT Basic 1004. 成绩排名 (20)(C语言实现)
- PAT Basic 1009. 说反话 (20)(C语言实现)
- PAT Basic 1012. 数字分类 (20)(C语言实现)
- PAT Basic 1019. 数字黑洞 (20)(C语言实现)
- PAT Basic 1009. 说反话 (20)(C语言实现)
- 嵌入式系统学习——STM32之GPIO
- PAT Basic 1010. 一元多项式求导 (25)(C语言实现)
- PAT Basic 1011. A+B和C (15)(C语言实现)
- PAT Basic 1012. 数字分类 (20)(C语言实现)
- PAT Basic 1013. 数素数 (20)(C语言实现)
- PAT Basic 1014. 福尔摩斯的约会 (20)(C语言实现)
- [PAT-乙级]1058.选择题
- PAT Basic 1015. 德才论 (25)(C语言实现)
- PAT Basic 1016. 部分A+B (15)(C语言实现)
- PAT Basic 1017. A除以B (20)(C语言实现)
- PAT Basic 1018. 锤子剪刀布 (20)(C语言实现)
- PAT Basic 1019. 数字黑洞 (20)(C语言实现)
- PAT Basic 1020. 月饼 (25)(C语言实现)