美文网首页程序员互联网科技我用 Linux
2019年北京青少年信息学科普日活动朝阳区选拔赛小学组参考答案

2019年北京青少年信息学科普日活动朝阳区选拔赛小学组参考答案

作者: 海天一树X | 来源:发表于2019-05-26 19:08 被阅读12次

    1 求长方形的周长和面积

    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int main()
    {
        freopen("rectangle.in", "r", stdin);
        freopen("rectangle.out", "w", stdout);
    
        int length, width;
        cin >> length >> width;
        cout << 2 * (length + width) << ' ' << length * width << endl;
    
        return 0;
    }
    

    2 因式分解

    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int n, m, a;
    
    bool check(int n)
    {
        for(int i = 2; i <= n; i++)
        {
            while(n)
            {
                if(0 == n % i)
                {
                    // i为质因数
                    if(i > a)
                    {
                        return false;
                    }
                    n /= i;
                }
                else
                {
                    break;
                }
            }
        }
    
        return true;
    }
    
    int main()
    {
        freopen("factorization.in", "r", stdin);
        freopen("factorization.out", "w", stdout);
    
        cin >> n >> m >> a;
        int ans = 0;
        for(int i = n; i <= n + m; i++)
        {
            if(check(i))
            {
                ans++;
            }
        }
    
        cout << ans << endl;
        return 0;
    }
    

    3 字符串

    #include <iostream>
    #include <cstdio>
    #include <set>
    using namespace std;
    
    multiset<string> mSet;
    
    void SplitString(const string& s, const char& c)
    {
        mSet.clear();
        string::size_type pos1, pos2;
        pos2 = s.find(c);
        pos1 = 0;
    
        while(string::npos != pos2)
        {
            mSet.insert(s.substr(pos1, pos2 - pos1));
            pos1 = pos2 + 1;
            pos2 = s.find(c, pos1); // search c from position pos1
        }
    
        if(pos1 != s.length())
        {
            mSet.insert(s.substr(pos1)); // from pos1 to the last position
        }
    }
    
    int main()
    {
        freopen("word.in", "r", stdin);
        freopen("word.out", "w", stdout);
    
        string s;
        while(getline(cin, s))
        {
            SplitString(s, ' ');
            cout << mSet.size();
    
            multiset<string>::iterator it;
            for(it = mSet.begin(); it != mSet.end(); it++)
            {
                cout << ' ' << *it;
            }
            cout << endl;
        }
    
        return 0;
    }
    

    完整答案请加微信307591841或QQ307591841

    相关文章

      网友评论

        本文标题:2019年北京青少年信息学科普日活动朝阳区选拔赛小学组参考答案

        本文链接:https://www.haomeiwen.com/subject/qgpftctx.html