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;
}
浙公网安备 33010602011771号