您的位置:首页 > 其它

九度oj-1163-素数

2014-10-16 16:45 246 查看
1 秒
内存限制:32 兆

特殊判题:

提交:6299

解决:2102

题目描述:
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。

输入:
输入有多组数据。

每组一行,输入n。

输出:
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。

样例输入:
100

样例输出:
11 31 41 61 71


 

来源: 2008年北京航空航天大学计算机研究生机试真题
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] argc){
Scanner in=new Scanner(System.in);
int[] a=new int[10005];
Arrays.fill(a, 0);
a[0]=a[1]=1;
for(int i=2;i<10005;i++)
for(int j=i+i;j<10005;j+=i)
a[j]=1;
while(in.hasNext()){
int n=in.nextInt();
int[] b=new int[10000];
int k=0;
for(int i=2;i<n;i++){
if(a[i]==0&&i%10==1)
b[k++]=i;
}
if(k==0) System.out.println("-1");
else {
for(int i=0;i<k-1;i++)
System.out.print(b[i]+" ");
System.out.println(b[k-1]);
}
}
in.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: