1 条题解

  • 0
    @ 2025-10-8 16:48:35

    scy视频

    #include <bits/stdc++.h>
    using namespace std;
    struct node
    {
        int a[511], len;
        node()
        {
            len=1;
            memset(a, 0, sizeof(a));
        }
    };
    node operator*(node n1, int x)
    {
        node no;
        no.len = n1.len;
        
        for(int i=1; i<=no.len; i++) no.a[i] = n1.a[i] * x;
        
        for(int i=1; i<=no.len; i++)
        {
            no.a[i+1] += no.a[i] / 10;
            no.a[i] %= 10;
        }
        
        int i = no.len;
        while(no.a[i+1] > 0)
        {
            i++;
            no.a[i+1] += no.a[i] / 10;
            no.a[i] %= 10;
        }
        while((no.a[i] == 0) && (i > 1)) i--;
        no.len = i;
        
        return no;
    }
    int main()
    {
        int n; scanf("%d", &n);
        
        node ans; ans.len = 1; ans.a[1] = 1;
        
        for(int i=1; i<=n; i++)
        {
            int x; scanf("%d", &x);
            ans = ans * x;
        }
        
        for(int i=ans.len; i>=1; i--) printf("%d", ans.a[i]);
        printf("\n");
        
        return 0;
    }
    
    • 1

    信息

    ID
    95
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    321
    已通过
    90
    上传者