题解

61 条题解

  • 0
    @ 2017-11-03 19:37:45

    为何为错两个点?

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        char n[1010];
        int ans,m,t,len;
        scanf("%s%d",n,&m);
        t=len=strlen(n);
        if(t>5) t=len-5;
        //cout<<t<<endl; 
        int x=0;
        for(int i=t;i<len;i++)
            x=x*10+n[i]-'0';
        //cout<<x<<endl;
        ans=(3*x+1)%(int)(pow(2,m));
        cout<<ans<<endl;
        return 0;
    }
    
  • 0
    @ 2017-10-06 11:11:26

    e,表示真心看不懂题解,,,对,是题解,,能帮忙详细解释下么~~~~谢!!!

  • 0
    @ 2016-05-19 16:59:20
  • 0
    @ 2015-01-01 16:43:37

    n=int(raw_input())
    m=int(input())
    print (n*3+1)%(1<<m)

  • 0
    @ 2012-11-05 17:38:10

    真心渣描述啊。。。

    我还以为是剖分后求剖分后多边形中边数的最大值。。。

    然后看到“尖端才子”,才恍然大悟:看下面这个多边形:

    ┌────────────────┐

    │...../..........│

    │..../...........│

    │.../............│

    │../.............│

    │./..............│

    │/...............│

    │................│

    │................│

    │................│

    └────────────────┘

    (请在notepad下打开。。。)

    按我的理解ans=5 但是正解ans=8(5+3)

    好吧,我承认我语文不好……

  • 0
    @ 2009-11-07 10:55:02

    原来数论这么重要,我是井底之蛙....

  • 0
    @ 2009-11-03 22:29:15

    __int64 再次栽在数据范围上

  • 0
    @ 2009-10-31 08:26:28

    膜拜“尖端才子”及其题解,彻底明白了!

  • 0
    @ 2009-10-27 23:23:40

    规律题...

  • 0
    @ 2009-10-14 17:57:59

    样例怎么回事。。

  • 0
    @ 2009-10-12 20:46:33

    编译通过...

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

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

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

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

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

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

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

    话说这道题根本不用高精度……因为m

  • 0
    @ 2009-09-13 09:57:35

    var

    s:ansistring;

    m,i:longint;

    a,b:array[0..1000]of longint;

    procedure cheng;

    var

    i:integer;

    begin

    a[length(s)]:=a[length(s)]*3;

    for i:=length(S)-1 downto 1 do

    begin

    a[i]:=a[i]*3+a div 10;

    a:=a mod 10;

    end;

    a[0]:=a[1] div 10;

    a[1]:=a[1] mod 10;

    inc(a[length(s)]);

    end;

    procedure divv;

    var

    t,i:longint;

    x:int64;

    begin

    x:=1 shl m;

    t:=a[0];

    for i:=1 to length(s) do

    t:=(t*10+a[i])mod x;

    writeln(t);

    end;

    begin

    readln(s);

    readln(m);

    for i:=1 to length(s) do a[i]:=ord(s[i])-48;

    cheng;

    divv;

    end.

    还是用高精!

  • 0
    @ 2009-09-06 12:09:20

    囧……第一次写成string了……反省中……

  • 0
    @ 2009-08-16 13:34:54

    卧槽 = =

    垃圾题。。

    题目的意思是不是

    将正方形分成N个凸多边形,求这个正方形中一共最多可以有多少条边?

  • 0
    @ 2009-08-09 13:40:18

    [red]haha[/red]

    [blue]haha[/blue]

  • 0
    @ 2009-08-06 10:18:21

    太弱了.

    var a:ansistring;

    n,m:int64;

    begin

    readln(a);

    readln(m);

    val(copy(a,(length(a)-m+1),m),n);

    writeln((3*n+1) mod (1 shl m));

    end.

    直接ac

  • 0
    @ 2009-07-22 21:29:53

    我靠,这是什么鬼题!!!!语句有严重的歧义,有N种理解方法,叫我们怎么做?

    #include

    #include

    void main()

    {

    int m,i,sum=1,len;

    __int64 t=0,n=0;

    char a[1000];

    gets(a);

    scanf("%d",&m);

    len=strlen(a);

    if(len>=10)

    {

    len=len-10;

    for(i=len;i=2&&len

  • 0
    @ 2009-07-22 16:13:31

    C语言AC的代码 本代码没一丁点创意……:

    #include#include#includeint main(){long i=;long m=;__int64 n=;long len=;char a[1000]={"0"};long b[11]={1,2,4,8,16,32,64,128,256,512,1024};gets(a);scanf("%ld",&m);len=strlen(a);for(i=;i=)n=n*10+a[len-m+i]-'0';printf("%I64d",(n*3)%b[m]+1);return ;}

  • 0
    @ 2009-06-13 14:47:20

    n mod m=(n的后m位)mod m;

    n mod 2^m=(n的后m位)mod 2^m;

    如果一个正方形被划分为n个凸多边形,这些凸多边形边数的最大值max=3n+1;

  • 0
    @ 2009-06-12 10:38:29

    只不过val时写起始位置少加了1,0分

    加上以后就

    编译通过...

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

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

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

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

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

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

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

信息

ID
1309
难度
4
分类
其他 | 数学图结构 | 平面图 点击显示
标签
(无)
递交数
611
已通过
268
通过率
44%
上传者