1 条题解

  • 0
    @ 2024-12-24 10:06:19

    C :

    #include<stdio.h>
    int main()
    {
      long long unsigned sum,p;
       sum=p=1;
        int i;
        for(i=1;i<64;i++)
        {
            p*=2;
            sum+=p;
        }
        printf("%llu\n",sum);
        return 0;
    }
    
    

    C++ :

    #include <iostream>
    #include <vector>
    using namespace std;
    
    // vector都是反过来的
    vector<int> add(vector<int> &a, vector<int> &b) {
        if (a.size() < b.size()) {
            return add(b, a);
        }
        vector<int> res;
        int t = 0;
        for (int i = 0; i < a.size() || t; i++) {
            if (i < a.size()) {
                t += a[i];
            }
            if (i < b.size()) {
                t += b[i];
            }
            res.push_back(t % 10);
            t /= 10;
        }
        return res;
    }
    
    vector<int> mul(vector<int> &a, int b) {
        vector<int> res;
        int t = 0;
        for (int i = 0; i < a.size() || t; i++) {
            if (i < a.size()) {
                t += a[i] * b;
            }
            res.push_back(t % 10);
            t /= 10;
        }
        return res;
    }
    
    int main()
    {
        int n = 64;
        vector<int> t = {1}, sum = {0};
        for(int i = 1; i <= n; i++) {
            sum = add(sum, t);
            t = mul(t, 2);
        }
        for(int i = sum.size() - 1; i >= 0; i--) {
            cout << sum[i];
        }
        cout << endl;
        return 0;
    }
    
    

    Python :

    # coding=utf-8
    s=0
    for i in range(1,65):
        s= s+ 2**(i-1)
    print(s)
    
    • 1

    信息

    ID
    2671
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者