天勤OJ 题目1135: 素数
2013-02-12 17:42
316 查看
题目描述
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
输入
输入有多组数据。
每组一行,输入n。
输出
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
样例输入
样例输出
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
输入
输入有多组数据。
每组一行,输入n。
输出
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
样例输入
70
样例输出
11 31 41 61
/********************************* * 日期:2013-2-12 * 作者:SJF0115 * 题号: 天勤OJ 题目1135: 素数 * 来源:http://acmclub.com/problem.php?id=1135 * 结果:AC * 来源:2008年北京航空航天大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() { int n,i,j,flag,index; int prime[10001];//素数表 //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%d",&n) != EOF) { index = 0; for(i = 11;i < n;i += 10){ flag = 0; //判断是否是素数 for(j = 2;j <= sqrt(i);j++){ if(i % j == 0){ flag = 1; break; } } //是素数 if(flag == 0){ prime[index++] = i; } } //如果没有则输出-1。 if(index == 0){ printf("-1\n"); } else{ //输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数 for(i = 0;i < index-1;i++){ printf("%d ",prime[i]); } printf("%d\n",prime[index-1]); } } return 0; }
/********************************* * 日期:2013-2-12 * 作者:SJF0115 * 题号: 天勤OJ 题目1135: 素数 * 来源:http://acmclub.com/problem.php?id=1135 * 结果:AC * 来源:2008年北京航空航天大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() { int n,i,j; int prime[10001];//素数表 //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%d",&n)!=EOF) { //筛法求素数 for(i = 2;i < n;i++){ //偶数不是素数 if(i % 2 == 0){ prime[i] = 0; } //奇数 else{ prime[i] = 1; } } for(i = 3;i < sqrt(n);i++){ //如果当前是素数进行调整 if(prime[i]){ //奇数的倍数不是素数 for(j = i+i;j < n;j += i){ prime[j] = 0; } } } //输出 if(n <= 11){ printf("-1\n"); } else{ printf("11"); for(i = 12;i < n;i++){ if(prime[i] && i%10 == 1){ printf(" %d",i); } } printf("\n"); } } return 0; }
/********************************* * 日期:2013-3-20 * 作者:SJF0115 * 题号: 题目1135: 素数 * 来源:http://ac.jobdu.com/problem.php?pid=1135 * 结果:AC * 来源:2008年北京航空航天大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> #include<string.h> #define MAXSIZE 10001 int Mark[MAXSIZE]; int prime[MAXSIZE]; //判断是否是一个素数 int Prime(){ int index = 0; memset(Mark,0,sizeof(Mark)); for(int i = 2;i < MAXSIZE;i++){ //已被标记 if(Mark[i] == 1){ continue; } else{ //否则得到一个素数 prime[index++] = i; //标记该素数的倍数为非素数 for(int j = i*i;j < MAXSIZE;j += i){ Mark[j] = 1; } } } return index; } int main (){ int a,first,index; while(scanf("%d",&a) != EOF){ first = 1; index = Prime(); for(int i = 2;i <= index;i++){ //素数 if(prime[i] < a && prime[i] % 10 == 1){ if(first){ first = 0; } else{ printf(" "); } printf("%d",prime[i]); } } if(first){ printf("-1\n"); } else{ printf("\n"); } }//while return 0; }
相关文章推荐
- 九度OJ-题目1163:素数
- 题目24-素数距离问题
- 素数距离题目
- 编程题目: PAT 1013. 数素数 (20)
- 程序45:题目:判断一个素数能被几个9整除
- 面试题目-为什么素数有无穷多个
- 题目 1047 素数判定 九度Online Judge
- 南阳理工ACM 题目24 素数距离问题
- 天勤OJ 题目1106: 哈夫曼树
- 天勤OJ 题目1386: 围圈报数
- 天勤OJ 题目1449: 编排字符串
- 题目24: 素数距离问题
- 【九度OJ】题目1047:素数判定 解题报告
- 题目1047:素数判定(2009年哈尔滨工业大学计算机研究生机试真题)
- hdu 1695 综合数论 欧拉函数 分解质因子 容斥原理 打印素数表 帅呆了的一个题目 详解
- 题目:判断101-200之间有多少个素数,并输出所有素数。
- 南阳理工ACM 题目22 素数求和问题
- 题目:判断101-200之间有多少个素数,并输出所有素数。
- java 题目:判断101-200之间有多少个素数,并输出所有素数。
- 题目:判断101-200之间有多少个素数,并输出所有素数。