126 条题解
- 
  0怪盗~基德 LV 10 @ 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:32program 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:433000次提交,可惜从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:07program 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:59const 
 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 有效耗时:0msC++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:57logn参考代码 
 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