179 条题解

  • 0
    @ 2007-01-19 21:07:02

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ├ 测试数据 11:答案正确... 0ms

    ├ 测试数据 12:答案正确... 0ms

    ├ 测试数据 13:答案正确... 0ms

    ├ 测试数据 14:答案正确... 0ms

    ├ 测试数据 15:答案正确... 0ms

    ├ 测试数据 16:答案正确... 0ms

    ├ 测试数据 17:答案正确... 0ms

    ├ 测试数据 18:答案正确... 0ms

    ├ 测试数据 19:答案正确... 0ms

    ├ 测试数据 20:答案正确... 0ms

    ├ 测试数据 21:答案正确... 0ms

    ├ 测试数据 22:答案正确... 0ms

    ├ 测试数据 23:答案正确... 0ms

    ├ 测试数据 24:答案正确... 0ms

    ├ 测试数据 25:答案正确... 0ms

    ├ 测试数据 26:答案正确... 0ms

    ├ 测试数据 27:答案正确... 0ms

    ├ 测试数据 28:答案正确... 0ms

    ├ 测试数据 29:答案正确... 0ms

    ├ 测试数据 30:答案正确... 0ms

    ├ 测试数据 31:答案正确... 0ms

    ├ 测试数据 32:答案正确... 0ms

    ├ 测试数据 33:答案正确... 0ms

    ├ 测试数据 34:答案正确... 0ms

    ├ 测试数据 35:答案正确... 0ms

    ├ 测试数据 36:答案正确... 0ms

    ├ 测试数据 37:答案正确... 0ms

    ├ 测试数据 38:答案正确... 0ms

    ├ 测试数据 39:答案正确... 0ms

    ├ 测试数据 40:答案正确... 0ms

    ├ 测试数据 41:答案正确... 0ms

    ├ 测试数据 42:答案正确... 0ms

    ├ 测试数据 43:答案正确... 0ms

    ├ 测试数据 44:答案正确... 0ms

    ├ 测试数据 45:答案正确... 0ms

    ├ 测试数据 46:答案正确... 0ms

    ├ 测试数据 47:答案正确... 0ms

    ├ 测试数据 48:答案正确... 0ms

    ├ 测试数据 49:答案正确... 0ms

    ├ 测试数据 50:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    我也是一次AC!!!!!(兴奋ing)

  • 0
    @ 2007-01-08 17:16:07

    To xnyt:

    我很理解你AC的激动心情,但仁兄你也不必把那50个测试AC贴出来吧?

    好了,讲下做法:越多3越好,剩4的话分成2个2。。。

  • 0
    @ 2007-01-04 19:38:16

    我的第30道题and我从学pascal以来做的第1道高精题

    纪念一下~~

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ├ 测试数据 11:答案正确... 0ms

    ├ 测试数据 12:答案正确... 0ms

    ├ 测试数据 13:答案正确... 0ms

    ├ 测试数据 14:答案正确... 0ms

    ├ 测试数据 15:答案正确... 0ms

    ├ 测试数据 16:答案正确... 0ms

    ├ 测试数据 17:答案正确... 0ms

    ├ 测试数据 18:答案正确... 0ms

    ├ 测试数据 19:答案正确... 0ms

    ├ 测试数据 20:答案正确... 0ms

    ├ 测试数据 21:答案正确... 0ms

    ├ 测试数据 22:答案正确... 0ms

    ├ 测试数据 23:答案正确... 0ms

    ├ 测试数据 24:答案正确... 0ms

    ├ 测试数据 25:答案正确... 0ms

    ├ 测试数据 26:答案正确... 0ms

    ├ 测试数据 27:答案正确... 0ms

    ├ 测试数据 28:答案正确... 0ms

    ├ 测试数据 29:答案正确... 0ms

    ├ 测试数据 30:答案正确... 0ms

    ├ 测试数据 31:答案正确... 0ms

    ├ 测试数据 32:答案正确... 0ms

    ├ 测试数据 33:答案正确... 0ms

    ├ 测试数据 34:答案正确... 0ms

    ├ 测试数据 35:答案正确... 0ms

    ├ 测试数据 36:答案正确... 0ms

    ├ 测试数据 37:答案正确... 0ms

    ├ 测试数据 38:答案正确... 0ms

    ├ 测试数据 39:答案正确... 0ms

    ├ 测试数据 40:答案正确... 0ms

    ├ 测试数据 41:答案正确... 0ms

    ├ 测试数据 42:答案正确... 0ms

    ├ 测试数据 43:答案正确... 0ms

    ├ 测试数据 44:答案正确... 0ms

    ├ 测试数据 45:答案正确... 0ms

    ├ 测试数据 46:答案正确... 0ms

    ├ 测试数据 47:答案正确... 0ms

    ├ 测试数据 48:答案正确... 0ms

    ├ 测试数据 49:答案正确... 0ms

    ├ 测试数据 50:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2007-01-03 22:42:30

    我差点想填表提交了.

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ├ 测试数据 11:答案正确... 0ms

    ├ 测试数据 12:答案正确... 0ms

    ├ 测试数据 13:答案正确... 0ms

    ├ 测试数据 14:答案正确... 0ms

    ├ 测试数据 15:答案正确... 0ms

    ├ 测试数据 16:答案正确... 0ms

    ├ 测试数据 17:答案正确... 0ms

    ├ 测试数据 18:答案正确... 0ms

    ├ 测试数据 19:答案正确... 0ms

    ├ 测试数据 20:答案正确... 0ms

    ├ 测试数据 21:答案正确... 0ms

    ├ 测试数据 22:答案正确... 0ms

    ├ 测试数据 23:答案正确... 0ms

    ├ 测试数据 24:答案正确... 0ms

    ├ 测试数据 25:答案正确... 0ms

    ├ 测试数据 26:答案正确... 0ms

    ├ 测试数据 27:答案正确... 0ms

    ├ 测试数据 28:答案正确... 0ms

    ├ 测试数据 29:答案正确... 0ms

    ├ 测试数据 30:答案正确... 0ms

    ├ 测试数据 31:答案正确... 0ms

    ├ 测试数据 32:答案正确... 0ms

    ├ 测试数据 33:答案正确... 0ms

    ├ 测试数据 34:答案正确... 0ms

    ├ 测试数据 35:答案正确... 0ms

    ├ 测试数据 36:答案正确... 0ms

    ├ 测试数据 37:答案正确... 0ms

    ├ 测试数据 38:答案正确... 0ms

    ├ 测试数据 39:答案正确... 0ms

    ├ 测试数据 40:答案正确... 0ms

    ├ 测试数据 41:答案正确... 0ms

    ├ 测试数据 42:答案正确... 0ms

    ├ 测试数据 43:答案正确... 0ms

    ├ 测试数据 44:答案正确... 0ms

    ├ 测试数据 45:答案正确... 0ms

    ├ 测试数据 46:答案正确... 0ms

    ├ 测试数据 47:答案正确... 0ms

    ├ 测试数据 48:答案正确... 0ms

    ├ 测试数据 49:答案正确... 0ms

    ├ 测试数据 50:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-12-23 23:19:53

    高精度的垃圾题,全0ms过

  • 0
    @ 2006-11-08 22:55:35

    这道题就是这酱紫的:

    无论是什么数,都必须分成3或2

    利用均值定理容易证明:a*b

  • 0
    @ 2006-10-28 09:35:28

    晕死,搞半天有50个数据,害得我总看到在running,还以为超时了呢

  • 0
    @ 2006-10-24 13:17:45

    一次就AC 纪念下

  • 0
    @ 2006-08-29 17:40:58

    我晓得了……因为3是大于e的最大的整数……我昏……怎么才想到~~~马上开始写程序!(8-29-17:14)

    晕~~怎么没考虑n

  • 0
    @ 2006-07-25 17:47:07

    当a>b>e(自然对数)时,a的b次方大于b的a次方,如3*3*3*3>4*4*4,而2*2*2

  • 0
    @ 2006-07-25 13:44:40

    为什么要尽量多分出3(小学数奥不过关...)

  • 0
    @ 2006-07-23 22:50:01

    测试数据好多啊。。。

  • 0
    @ 2006-06-03 10:48:54

    最多有2个2,其余全是3,这样结果最大

    最后再用个高乘就行了

  • 0
    @ 2006-05-09 13:17:09

    就是"多3少2不要1"的问题.

    即尽量的多分出3,如果有剩就分2,若剩下的的分2都不够就不能分1,拆出一个3.

    举个例子,

    如7,分成3和3后还剩1个1,这个时候不要3*3*1=9,

    而应该拆开3分成3,2,2.这样乘积为3*2*2=12.

    注意n

  • 0
    @ 2006-03-10 20:47:49

    我说小学学过的奥数题咋会错呢????

    原来输出没有换行!!!!!!!!!!!!

    晕!!!

    如果你错了全部的点,试试加个“writeln;”;

    如果错了几个点,请注意n

  • 0
    @ 2006-01-27 23:50:39

    为了加速,可以只算出3因子的个数和2因子的个数

    然后用快速求幂......

  • 0
    @ 2006-01-22 19:48:00

    尽可能多的分解成3,然后剩4以内的就直接乘。

    比如10,最大=3*3*4(实际上是3*3*2*2)

  • -1
    @ 2017-05-07 13:01:49
    /*
    第一眼以为是无脑搜索
    后面才知道原来是小学奥数Orz
    结果就是
    把数n尽可能拆成最多的3
    这样乘积会最大
    那么如果当前n正好是3的整数倍
    自然就是直接拆成n/3个3相乘最优了
    如果n%3==1
    那么如果拆成n/3个3和一个1相乘不是最优的
    而是应该将一个3和那个1组合成一个4很明显比上面的更优
    如果是n%3==2
    那么拆分成n/3个3然后剩下一个2直接乘进去就好了
    注意数据范围很大需要用到高精度
    唉高精度写的心好累啊
    */
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    
    const int Base=10;
    struct bign
    {
        int num[500],len;
        bign(int x=1,int len1=1)
        {
            memset(num,0,sizeof(num));
            num[1]=x;
            len=len1;
        }
        bign bei(int x)
        {
            bign c(0,len+1);
            for(int i=1;i<=len;i++)
            {
                c.num[i]+=num[i]*x;
                if(c.num[i]>=Base)
                {
                    c.num[i+1]+=c.num[i]/Base;
                    c.num[i]%=Base;
                }
            }
            while(!c.num[c.len])
                c.len--;
            return c;
        }
    };
    int n;
    
    int main()
    {
        scanf("%d",&n);
        if(n<=3)
        {
            cout<<n<<endl;
            return 0;
        }
        bign x(3,1);
        if(n%3==0)
        {
            for(int i=1;i<n/3;i++)
                x=x.bei(3);
        }
        else    if(n%3==1)
        {
            for(int i=1;i<(n/3-1);i++)
                x=x.bei(3);
            x=x.bei(4);
        }
        else
        {
            for(int i=1;i<n/3;i++)
                x=x.bei(3);
            x=x.bei(2);
        }
        for(int i=x.len;i>=1;i--)
            cout<<x.num[i];
        cout<<endl;
        return 0;
    }
         
    
  • -1
    @ 2017-03-20 10:50:43

    题解详情

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<queue>
    #include<string>
    #include<cstring>
    #define inf 1e9
    #define ll long long
    #define For(i,j,k) for(int i=j;i<=k;i++)
    #define Dow(i,j,k) for(int i=k;i>=j;i--)
    using namespace std;
    int ans[100001];
    int n;
    inline void mul(int x)
    {
        For(i,1,ans[0])
            ans[i]*=x;
        For(i,1,ans[0])
        {
            ans[i+1]+=ans[i]/10;
            ans[i]%=10;
        }
        while(ans[ans[0]+1])    ++ans[0];
        while(!ans[ans[0]-1])   --ans[0];
    }
    int main()
    {
        scanf("%d",&n);
        ans[0]=ans[1]=1;
        while (n)
        {
            if(n>4||n==3)
                mul(3),n-=3;
            if(n==4)
                mul(4),n-=4;
            if(n==2)    
                mul(2),n-=2;
            if(n==1) 
                mul(1),n-=1;
        }
        Dow(i,1,ans[0]) printf("%d",ans[i]);
    
    }
    

信息

ID
1033
难度
5
分类
其他 | 数学 点击显示
标签
(无)
递交数
3722
已通过
1204
通过率
32%
被复制
9
上传者