-
题目描述:
-
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
-
输入:
-
输入有多组数据。
每组一行,输入n。
-
输出:
-
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
-
样例输入:
-
100
-
样例输出:
-
11 31 41 61 71
-
来源:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n=0,i=0,j=0,count=0,flag=1;
int *a=(int *)malloc(sizeof(int));
while(scanf("%d",&n)!=EOF)
{
count=0;
for(i=2;i<n;i++)
{
flag=1;
if(i%10==1)
{
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
a[count]=i;
count++;
}
}
}
if(count)
{
for(j=0;j<count-1;j++)
printf("%d ",a[j]);
printf("%d\n",a[count-1]);
}
else
printf("-1\n");
}
return 0;
}
/**************************************************************
Problem: 1163
Language: C
Result: Accepted
Time:10 ms
Memory:928 kb
****************************************************************/