• lyc——2019.10.31


    10:判决素数个数

    总时间限制: 1000ms  内存限制: 65536kB
    描述

    输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。

    输入
    两个整数X和Y(1 <= X,Y <= 105)。
    输出
    输出一个整数,表示X,Y之间的素数个数(包括X和Y)。
    样例输入:1 100   样例输出:25
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    bool f[100005];
    int main()
    {
        int x, y, ans=0;
        scanf("%d%d", &x, &y);
        f[1] = 1;
        if(x == 1) x=2;
        if(x > y) swap(x, y);
        for(int i=2; i<=y; i++)
        {
            if(f[i] == 0)
            {
                for(int j=2; j*i<=y; j++)
                {
                    f[j*i] = 1;
                }
            }
        }
        for(int i=x; i<=y; i++)
        {
            if(f[i] == 0) ans++;
        }
        printf("%d", ans);
        return 0;
    }

    #没有考虑y可能比x大,还有时间复杂度。

    1752:鸡兔同笼

    总时间限制: 1000ms  内存限制:65536kB
    描述

    一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

    输入
    一行,一个正整数a (a < 32768)。
    输出
    一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。
    如果没有满足要求的答案,则输出两个0,中间用一个空格分开。
    样例输入:20  样例输出:5 10
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int a, n, m, ma=32768;
        scanf("%d", &a);
        if(a%2 == 0)
        {
            for(int i=0; i<=a; i+=2)
            {
                n = i/2;
                if((a-i)%4 == 0)
                {
                    m=(a-i)/4;
                    ma = min(ma, n+m);
                }
            }
            printf("%d %d", ma, a/2);
        }
        else printf("0 0");
        return 0;
    }

    没考虑例外情况

  • 相关阅读:
    初识HTML
    CSS字体
    CSS层叠
    CSS选择器
    DOM一致性检测
    javascript中关于value的一个小知识点(value既是属性也是变量)
    IE浏览器下常见的CSS兼容问题
    haslayout详解
    去除IE6浏览器下获得焦点的元素的虚线框的两个小办法
    引入CSS
  • 原文地址:https://www.cnblogs.com/orange-233/p/11773487.html
Copyright © 2020-2023  润新知