题目1163:素数 2008年北京航空航天大学计算机研究生机试真题

来源:互联网 发布:淘宝一口价怎么改 编辑:程序博客网 时间:2024/06/06 03:24

格式原因,所以先存储,再打印

#include <stdio.h>#include <math.h>bool judge(int n){    int i,j,k;    int a[10001] = {0};    int num = 0;    for (i = 2;i < n;i++)    {        k = (int)sqrt((double)i);        for (j = 2;j <=k;j++)        {            if (i%j == 0) break;        }        if (j==k+1||j==2)        {            if (i % 10 == 1)            {                a[num++] = i;            }        }    }    if (num == 0) return false;    for (i = 0;i < num;i++)    {        if (i != num - 1) printf("%d ", a[i]);        else printf("%d", a[i]);    }    return true;}int main(){    int n;    while (scanf("%d", &n) != EOF)    {        if (judge(n)==true) printf("\n");        else printf("%d\n", -1);    }    return 0;}
阅读全文
0 0
原创粉丝点击