题解

132 条题解

  • 0
    @ 2009-10-05 20:40:07

    var

    n,m:int64;

    i:longint;

    begin

    readln(n);

    m:=1;i:=1;

    if n=1 then

    begin

    writeln(0);

    exit;

    end;

    repeat

    inc(i);

    m:=m*3;

    until m>n;

    writeln(i-1);

    end.

  • 0
    @ 2009-10-01 15:55:22

    #include

    using namespace std;

    int main()

    {

    long n, total = 0;

    cin >> n;

    while(n > 0)

    {

    n /= 3;

    total ++;

    }

    cout

  • 0
    @ 2009-09-19 09:11:38

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    #include

    using namespace std;

    main ()

    {

    long long n;

    int i=0,j=1;

    cin>>n;

    for (;j

  • 0
    @ 2009-09-16 17:02:42

    repeat

    m:=m+1;

    n:=(n+2) div 3;

    until n=1;

  • 0
    @ 2009-09-12 10:39:55

    交错题3次

    我的AC率啊!

    o(╯□╰)o

    ⊙﹏⊙b汗

    +_+

  • 0
    @ 2009-09-11 18:51:13

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

    i,n:longint;

    begin

    readln(n);

    if n=1 then writeln(0)

    else for i:=0 to maxlongint do

    if (n>trunc(exp(ln(3)*(i-1))))and(n

  • 0
    @ 2009-09-18 18:44:10

    此题的规律和公式

    可读性强的程序

    http://wwzhwdwd.blog.163.com/blog/static/12815145020098186436696

  • 0
    @ 2009-09-02 20:26:59

    万一我RP爆发,随便捏两个球就一轻一重~!!!!!

    水~!!!!!!!!!!!!!!!!!!!!!

  • 0
    @ 2009-08-31 18:00:40

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

    n,m:int64;

    i:longint;

    begin

    readln(n);

    m:=1;i:=1;

    if n=1 then begin

    writeln(0);

    halt;

    end;

    repeat

    inc(i);

    m:=m*3;

    until m>n;

    writeln(i-1);

    end.

    本来就是水题,数据变大了还是水题

    庆祝一颗星

  • 0
    @ 2009-08-28 19:50:13

    用三分法。

    说白了就是求比n小的,最接近n的3的幂是三的几次方

    水题水题

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

    n:longint;

    begin

    readln(n);

    writeln(trunc(ln(n)/ln(3))+1);

    end.

  • 0
    @ 2009-08-27 17:49:33

    一直除以3,直到等于0,输出除的次数

    st!!!!

  • 0
    @ 2009-08-20 21:05:45

    水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水

    var n,m:real;

    begin

    readln(n);

    m:=(ln(n)/ln(3))+1;

    writeln(trunc(m));

    end.

  • 0
    @ 2009-08-20 20:20:02

    dp???????????????????????????????????????????????????????????????????????

  • 0
    @ 2009-08-14 17:13:42

    var n,m,i:longint;

    begin

    readln(n);

    repeat

    m:=n div 3;

    inc(i);

    n:=m

    until m=0;

    write(i);

    end.

  • 0
    @ 2009-08-13 14:10:26

    汗,直呼:水题啊!

    第一次开太小,挂了

    第二次把INTEGER 改成 LONGINT 就AC了

    我可怜的通过率啊。。。。。

  • 0
    @ 2009-08-08 10:30:28

    var n,c:longint;

    begin

    read(n);

    c:=0;

    while n>1 do

    begin

    c:=c+1;

    if n mod 3=0 then n:=n div 3

    else n:=(n div 3)+1;

    end;

    write(c);

    end.

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2009-08-07 16:12:15

    {递归求解:非常快的**。因为每次递归数都除3,降1/3,即使是20位的数据也能秒杀}

    var

    n:int64;

    m:int64;

    function f(x:int64):int64;

    begin

    if (x=0)or(x=1)then begin f:=0;exit;end;

    if (x=1)or(x=3)then begin f:=1;exit;end;

    if x mod 3=0 then f:=f(x div 3)+1;

    if x mod 3=1 then f:=f((x+2)div 3)+1;

    if x mod 3=2 then f:=f((x+1)div 3)+1;

    end;

    begin

    readln(n);

    m:=f(n);

    writeln(m);

    end.

  • 0
    @ 2009-08-05 15:05:04

    var

    n:longint;

    x:longint;

    begin

    read(n);

    x:=trunc(ln(n)/ln(3)+0.99999999);

    writeln(x);

    end.

  • 0
    @ 2009-08-03 20:26:55

    严重bs贴上错的程序。。

  • 0
    @ 2009-08-01 17:22:30

    好像不是动态规划了,,基于三分法的计算方法。中间那个表达式非常粗糙,其实就是进1法保留整数。。。。。刚好跟动态规划逆过来。。

    秒杀。。

    var ans,n:longint;

    begin

    readln(n);

    while n>1 do

    begin

    n:=(n div 3)+(n mod 3+1)div 2;

    inc(ans);

    end;

    writeln(ans);

    end.

信息

ID
1361
难度
2
分类
其他 | 数学 点击显示
标签
(无)
递交数
2133
已通过
1304
通过率
61%
被复制
3
上传者