Run ID:95639
提交时间:2024-11-01 14:55:50
/* 输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。 */ #include <stdio.h> int prime[1000]; int primesize; bool mark[10001]; void Count(int n ){ for (int i=1; i<n; i++) { mark[i]=false; } primesize=0; for (int i=2; i<n;i++) { if (mark[i]==true) continue; prime[primesize++]=i; for (int j=i*i;j<=n;j+=i) { mark[j]=true; } } } int main(){ int n; while (~scanf("%d",&n)) { bool empty=true,is_first=true; Count(n); for (int i=0; i<primesize; i++) { if (prime[i]%10==1){ empty=false; if (is_first==true) { printf("%d",prime[i]); is_first=false; } else printf(" %d",prime[i]); } } if (empty==true) printf("-1\n"); } return 0; }