QAQ?

P1045 [NOIP2003 普及组] 麦森数

打伞的大姐姐 @ 2018-11-02 09:45:01

QAQAQ? Wrong Answer Too Short on Line 2?

#include<bits/stdc++.h>
using namespace std;

int p,ans[510],a[510],b[510];

void QAQ(int *a,int *b)
{
    int c[510];
    memset(c,0,sizeof(c));
    for(int i=0;i<500;i++)
        for(int j=0;j<500;j++)
            if(i+j<500)
            {
                c[i+j]+=a[i]*b[j];
                c[i+j+1]+=c[i+j]/10;
                c[i+j]%=10;
            }
    memcpy(a,c,500*sizeof(int));
}

void dfs(int x)
{
    while(x)
    {
        if(x%2==1) QAQ(ans,a);
        x/=2;QAQ(a,a);
    }
}

int main()
{
    scanf("%d",&p);int m=p,k=0;
    memset(a,0,sizeof(a));
    memset(ans,0,sizeof(ans));
    a[0]=2;ans[0]=1;
    dfs(m);
    ans[0]--;
    printf("%d\n",(int)(p*log10(2.0)+1));
    for(int i=499;i>=0;i--)
    {
        k++;if(k==50) k=0,printf("\n");
        printf("%d",ans[i]);
    }
    return 0;
}

by miaojiexi @ 2018-11-02 09:57:26

@打伞的大姐姐 我刚刚看见你在参加运动会。。。


by 打伞的大姐姐 @ 2018-11-02 10:06:21

@miaojiexi 去私信吧QAQ


|