zoukankan      html  css  js  c++  java
  • 九度OJ 1163:素数 (素数)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:8496

    解决:2887

    题目描述:

    输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。

    输入:

    输入有多组数据。
    每组一行,输入n。

    输出:

    输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。

    样例输入:
    100
    样例输出:
    11 31 41 61 71
    来源:
    2008年北京航空航天大学计算机研究生机试真题

    思路:

    批量求素数通常用素数筛法,但此题还要个数为1,挨个判断素数应该也不算复杂。


    代码:

    #include <stdio.h>
    #include <math.h>
     
    int isprime(int n)
    {
        for (int i=2; i<=sqrt(n); i++)
        {
            if (n % i == 0)
                return 0;
        }
        return 1;
    }
     
    int main(void)
    {
        int n, i;
        int count;
     
        while (scanf("%d", &n) != EOF)
        {
            count = 0;
            for(i=2; i<n; i++)
            {
                if (i%10 != 1)
                    continue;
                if (isprime(i))
                {
                    count ++;
                    if (count != 1)
                        printf(" ");
                    printf("%d", i);
                }
            }
            if (count == 0)
                printf("%d
    ", -1);
            else
                printf("
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1163
        User: liangrx06
        Language: C
        Result: Accepted
        Time:10 ms
        Memory:928 kb
    ****************************************************************/
    


    编程算法爱好者。
  • 相关阅读:
    C#中IDisposable学习
    C# volatile与lock
    TFS源代码管理
    C#如何获取真实IP地址
    c# 协变和逆变
    基本数据类型
    用户交互
    变量.常量
    输出语句,注释,
    基础知识随笔
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083864.html
Copyright © 2011-2022 走看看