http://ac.jobdu.com/problem.php?cid=1040&pid=50
- 题目描述:
-
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
- 输入:
-
输入有多组数据。
每组一行,输入n。
- 输出:
-
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
- 样例输入:
-
100
- 样例输出:
-
11 31 41 61 71
// 题目51:素数.cpp: 主项目文件。 #include "stdafx.h" #include <cstdio> #include <math.h> bool isPrime(int n) { if(n<=1) return false; int tt=(int)sqrt(1.0*n); for(int i=2;i<=tt;i++) if(n%i==0) return false; return true; } int main() { int n; while(scanf("%d",&n)!=EOF) { bool flag=true; for(int i=2;i<n;i++) { if(isPrime(i)&&i%10==1) { if(flag) { flag=false; printf("%d",i); } else printf(" %d",i); } } if(flag) printf("-1\n"); else printf("\n"); } return 0; }