题目:https://ac.nowcoder.com/acm/contest/3036

十三题过题九道,自己学校的人都打不过,我人都傻了。

F

// TODO

H

题目提示完不能用 log2() 函数感觉到应该只需要开个六十多大的数组。然后比赛时就没有然后了

#include <bits/stdc++.h>
using namespace std;
long long a[70];
int main()
{
    a[0] = 0, a[1] = 1;
    for (int i = 2; i <= 64; i++)
    {
        a[i] = a[i - 1] + a[i - 2];
    }
    int t;
    cin >> t;
    while (t--)
    {
        long long n;
        cin >> n;
        int ans = 0;
        while (n > 0)
        {
            ans++;
            n /= 2;
        }
        cout << a[ans] << endl;
    }
    return 0;
}

I

我第一时间想到的是快速幂和取余运算模板,仔细一读咦有质数,费马小定理? 二项式定理真是妙啊

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        string a;
        int p;
        cin >> p >> a;
        if ((a[a.size() - 1] - '0') % 2 != 0)
            cout << p - 1 << endl;
        else
            cout << "1" << endl;
    }
    return 0;
}

L

我物理差...

#include <bits/stdc++.h>
using namespace std;
int main()
{
    double n, m, l;
    cin >> n >> l >> m;
    double ans = 0;
    for (long long i = 1; i <= n; i++)
        ans += l / (i * 2);
    printf("%.4lf", ans);
    return 0;
}
最后修改:2019 年 12 月 14 日 11 : 45 AM
如果觉得我的文章对你有用,请随意赞赏