• 2013_7_31


    个人赛连秃两场了。。。

    不过今天见识到了Python的威力。。。

    还是有点欣慰的。。。

    Python:

    a=1L
    n=input()
    for i in range(1,n+1):
        b=a+1
        a*=b
        print b

    VS

    C++:

    /*************************************************************************
        > File Name: A.cpp
        > Author: Chierush
        > Mail: qinxiaojie1@gmail.com 
        > Created Time: 2013年07月31日 星期三 09时32分59秒
     ************************************************************************/
      
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <set>
    #include <cstdio>
    #include <string>
    #include <vector>
    #include <map>
    #include <cmath>
    #include <algorithm>
      
    #define LL long long
    #define LLU unsigned long long
      
    using namespace std;
     
    LL x[50000],y[50000],z[50000];
    int nx,ny,nz;
      
    void print(int w)
    {
        printf("%I64d",x[nx--]);
        for (int i=nx;i>=0;--i) printf("%.9I64d",x[i]);
        printf("
    ");
    }
     
    int main()
    {
    //    freopen("a.txt","w",stdout);
        int n;
        scanf("%d",&n);
        nx=0,ny=0,nz=0;
        x[0]=2,y[0]=2;
        for (int q=1;q<=n;++q)
        {
            print(q);
            memcpy(x,y,sizeof(y));
            nx=ny;
            LL k=0;
            ++x[0];
            for (int i=0;i<=nx;++i)
            {
                k=x[i]/1000000000;
                x[i]=x[i]%1000000000;
                if (k==0) break;
            }
            if (k) x[++nx]=k;
            memset(z,0,sizeof(z));
            for (int i=0;i<=nx;++i)
                for (int j=0;j<=ny;++j)
                {
                    LL u=x[i]*y[j]+z[i+j];
                    z[i+j]=u%1000000000;
                    z[i+j+1]+=u/1000000000;
                }
            k=0;
            nz=49999;
            while (!z[nz]) --nz;
            for (int i=0;i<=nz;++i)
            {
                z[i]+=k;
                k=z[i]/1000000000;
                z[i]%=1000000000;
            }
            while (k)
            {
                ++nz;
                z[nz]=k%1000000000;
                k/=1000000000;
            }
            //printf("--%d
    ",nx);
            memcpy(y,z,sizeof(z));
            ny=nz;
        }
        return 0;
    }
    

      

      

  • 相关阅读:
    浅析一类要求相邻不同的环上染色问题
    中国剩余定理(CRT)及其扩展(ExCRT)
    bsoj5988 [Achen模拟赛]期望 题解
    涂色游戏 题解
    [JZOJ A组]球 题解
    由 [SDOI2012]Longge的问题 探讨欧拉函数和莫比乌斯函数的一些性质和关联
    [NOIP模拟]文本编辑器 题解
    Nilearn 小记
    django 开发笔记1
    浅谈无需工作量证明的加密货币
  • 原文地址:https://www.cnblogs.com/Chierush/p/3227546.html
Copyright © 2020-2023  润新知