126 条题解

  • 0
    @ 2009-06-25 12:46:15

    编译通过...

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

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

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

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

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

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

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

    才20多行啊。

    program vijos;

    var i,k,n,m:longint;

    d:array[0..8] of longint=(0,9,189,2889,38889,488889,5888889,68888889,788888889);

    begin

    readln(n);

    for i:=1 to 8 do

    if n

  • 0
    @ 2009-06-15 09:43:32

    program ll;

    var

    s:string;

    n,i:longint;

    begin

    readln(n);

    i:=0;

    repeat

    inc(i);

    str(i,s);

    if length(s)>=n

    then

    begin

    writeln(s[n]);

    halt;

    end

    else

    dec(n,length(s))

    until i=0;

    end.

  • 0
    @ 2009-06-15 08:51:43

    3000次提交,可惜从80改成了0分

  • 0
    @ 2009-05-08 13:49:58

    看不懂题目下边的什么n^5。。。随便写写。无敌水题。

  • 0
    @ 2009-04-01 18:23:24

    编译通过...

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

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

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

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

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

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

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

    program p1181;

    var n,i:longint;

    x,s:ansistring;

    begin

    read(n);

    if n

  • 0
    @ 2009-03-29 08:35:44

    打出了一个0.。。。。。。。。。。。。。

    天啊。。。。。

  • 0
    @ 2009-03-10 00:21:13

    编译通过...

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

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

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

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

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

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

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

    #include "stdio.h"

    int main()

    {

    int i,j,d,n,x,y,b[10],s[9],ans[50];

    scanf("%d",&n);

    b[0]=0;

    b[1]=9+1;

    b[2]=b[1]+90*2;

    b[3]=b[2]+900*3;

    b[4]=b[3]+9000*4;

    b[5]=b[4]+90000*5;

    b[6]=b[5]+900000*6;

    b[7]=b[6]+9000000*7;

    b[8]=b[7]+90000000*8;

    s[0]=0;

    s[1]=0;

    s[2]=10;

    s[3]=100;

    s[4]=1000;

    s[5]=10000;

    s[6]=100000;

    s[7]=1000000;

    s[8]=10000000;

    i=0;

    while(n>=b[i]) i++; //判断几位数

    d=n-b;

    x=d/i; //几位数的第几个(从0算起)

    y=d%i; //那个数中的第几位

    x=s[i]+x;//那个数

    for(j=0;j

  • 0
    @ 2009-02-28 15:51:34

    这道题就是选范围用了我比较多的篇幅,其实可以用字符串处理算出范围的,可我闲麻烦,还不如多打点字.....

    program kenan;

    var n,fj,v,i,j,s,c,y,shu,l:longint;

    zf:string;

    begin

    readln(n);

    if n

  • 0
    @ 2009-02-23 16:57:56

    你好萎缩

  • 0
    @ 2009-02-23 16:52:07

    program ex1181;

    var i,j,l,k,m,n:longint;

    s:string;

    begin

    readln(n);

    i:=0;

    repeat

    inc(i);

    str(i,s);

    l:=length(s);

    if l>=n then begin

    writeln(s[n]);

    break;

    end

    else dec(n,l);

    until l>1000000;

    end.

    我好无敌

  • 0
    @ 2009-02-04 12:00:59

    const

    a:array[1..8]of longint=(9,180,2700,36000,450000,5400000,63000000,720000000);

    var

    i,j,k,t,n,l:longint;

    s:string;

    begin

    readln(n);

    k:=0;

    for i:=1 to 8 do

      begin

       k:=k+a[i];

       if k>=n then

        begin

         j:=i-1;

         k:=k-a[i];

         break;

        end;

      end;

    n:=n-k;

    t:=round(exp(j*ln(10)))+(n div (j+1))-1;

    n:=n mod (j+1);

    if (n0) then

      t:=t+1

    else

      n:=j+1;

    s:='';

    while t>0 do

      begin

       s:=chr(48+(t mod 10))+s;

       t:=t div 10;

      end;

    write(s[n]);

    end.

  • 0
    @ 2009-01-26 20:35:08

    编译通过...

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

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

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

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

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

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

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

    永久纪念,第1000个

  • 0
    @ 2008-12-08 17:51:53

    这道题根本不用字符串去做也可以吗!!

    太easy了,不过由于粗心还是两遍过的,我的通过率?!!!

    const

    a:array[1..8]of longint=(9,180,2700,36000,450000,5400000,63000000,720000000);

    var

    i,j,k,t,n,l:longint;

    s:string;

    begin

    readln(n);

    k:=0;

    for i:=1 to 8 do

    begin

    k:=k+a[i];

    if k>=n then

    begin

    j:=i-1;

    k:=k-a[i];

    break;

    end;

    end;

    n:=n-k;

    t:=round(exp(j*ln(10)))+(n div (j+1))-1;

    n:=n mod (j+1);

    if (n0) then

    t:=t+1

    else

    n:=j+1;

    s:='';

    while t>0 do

    begin

    s:=chr(48+(t mod 10))+s;

    t:=t div 10;

    end;

    write(s[n]);

    end.

  • 0
    @ 2008-11-13 09:17:00



    硬算

    ansistring改成string就过了

  • 0
    @ 2008-11-11 22:09:56

    编译通过...

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

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

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

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

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

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

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

    纯数学.水呀

  • 0
    @ 2008-11-06 19:26:26

    编译通过...

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

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

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

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

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

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

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

    C++23行搞定……

    纯数学……

    具体的自己想去……

  • 0
    @ 2008-11-01 19:59:50

    数学方法,O(1)复杂度,program covhmima;

    if (n>=1)and(n=10)and(n=190)and(n=2890)and(n=38890)and(n=488890)and(n=5888890)and(n=68888890)and(n=788888890)and(n

  • 0
    @ 2008-10-29 10:52:57

    logn参考代码

    var n,i,s,last,all:longint; p:string;function power(y:longint):longint; var i,s:longint; begin s:=1; for i:=1 to y do s:=s*10; power:=s; end;begin read(n); for i:=1 to 8 do begin last:=all; inc(all,i*9*power(i-1)); if all>=n then break; end; if all=n then write(9) else begin s:=trunc(power(i-1)+(n-last-1) div i); str(s,p); write(p[(n-last-1) mod i+1]); end;end.

  • 0
    @ 2008-10-23 19:12:21

    垃圾temper,成天耗我AC率.明明0MS AC,愣是超时......

  • 0
    @ 2008-10-22 02:04:05

    破题,,给的数据10^8!!!

    汗死了,,我真按照那个做的,,结果白提交了两次,都零分,我的AC率啊!!

    第三次换成long long int,,才过!!

    这水题让我AC率掉的啊。。。。

    编译通过...

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

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

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

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

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

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

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

信息

ID
1181
难度
5
分类
模拟 点击显示
标签
递交数
1823
已通过
681
通过率
37%
被复制
6
上传者