Mấy anh ơi, chỉ em cách nhập filein fileout đi. Cho em một ví dụ luôn nha.
Mấy anh ơi, chỉ em cách nhập filein fileout đi. Cho em một ví dụ luôn nha.
Code bài 12345678910....
Code:program day; var n : longint; result : char; procedure doc; begin writeln('----------------------------------'); writeln('1234567891011121314151617181920...'); write(' N = '); readln(n); end; function muoimu(i:integer) : longint; var j:integer;p:longint; begin p:=1; for j:= 1 to i do p:=p*10; muoimu:=p; end; procedure lam; var i,j,so,sc:longint; st:string[20]; begin i:=0; so:=0; repeat inc(i); if 9.0*muoimu(i-1)*i>=n-so then begin sc:=muoimu(i-1)+(n-so) div i; j:=(n-so) mod i; if j=0 then begin dec(sc);j:=i; end; str(sc,st); result:=st[j]; exit; end; inc(so,9*muoimu(i-1)*i); until false; end; procedure viet; begin writeln(' Chu so thu ',n,' cua day = ',result); end; begin doc; lam; viet; end.
không giấu bác, tui là 1 ex-ctin :p (các bác đừng cười tui nhé). Ngay từ băm lớp 8 tui đã được "đào tạo" để thi HSG cấp thành phố (và tất nhiên các cuộc thi lập trình khác nếu có khả năng cũng tham gia, tất nhiên chỉ dành cho PT cơ sở, chứ dẹp cái ACM, olympic hay quốc gia đi nhé). Khi tui vào ctin thì toàn gặp những khuôn mặt...wen thuộc, lí do: thi chung nhìu, wen mặt luôn rùi. Không biết gì mà vào được ctin thì chỉ là ngoại lệ (và kết quả thường không được hay cho lém). vào ctin để đào tạo chuyên sâu (thuật tóan) thi những cuộc thi lớn hơn, chứ không phải để...đào tạo lại từ đầu.
Trời ơi, ai giúp em nhập filein fileout di chứ
có mấy cái link này bạn thử xem có file trong đó ko
http://www.esnips.com/doc/fc2747eb-4...AL_Can_Ban.pdf
http://hoangdieust.net/forum/forum_posts.asp?TID=35
http://khigiacmoquayve.narod.ru/lapt...rinhindex.html
Cách F12 làm giống bác condecodon post ở trên thôi :
Chia dãy thành các phần :
Với cách chia thành từng phần trên ta dễ dàng suy ra chữ số thứ N nằm ở phần nào, là chữ số thứ mấy của phần đó, rồi từ đó tìm ra nó thuộc số nào và là chữ số thứ mấy của số đó.Code:1 2 3 4 5 6 7 8 9|10 11 12 13 14 ..97 98 99|100 101 102 ..998 999 | 1000... Phần I | Phần II | Phần III | ... các số 1 chữ số | các số có 2 chữ số | các số có 3 chữ số | ... có 9 số | có 90 số | có 900 số | ... 9x1=9 chữ số | 90x2=180 chữ số | 900x3=2700 chữ số | ... <--- 9 chữ số ---> | | <----------- 189 chữ số -------------------> | <------------------------- 2700 chữ số --------------------------->
VD: nhập n = 100 ta xét :
9x1=9
9x1+90x2=189
9x1+90x2+900x3=2891
Vì 9 < 100 <= 189 ==> chữ số thứ 100 thuộc phần thứ II : phần gồm các số có 2 chữ số.
==> nó là chữ số thứ 100-9=91 của phần II này.
91 div 2 = 45
91 mod 2 = 1
==> đáp số là chữ số thứ 1 tính từ trái sang của số thứ 45 trong phần II.Code:10 11 12 13 14 .....53 54 55 56...98 99 <------ 90 chữ số ------> <--------- 92 chữ số ------>
( nghĩa là số 55 )
==> đáp số là số 5.
Gửi Condecondo2003: Bạn đã nhầm trầm trọng luôn rồi, bạn hãy thử chạy code pascal hoán vị của mình đi rồi biết sai hay đúng, vấn đề là nó chạy ra không theo thứ tự thôi (vẫn đủ chứ bộ, làm gì có dấu # ở đây ông), nhưng dù sao cũng cảm ơn bạn đã góp ý (chỉ có điều là ý bậy thôi ! He He).
Bác trinick_13 code đúng rồi nhưng cách sinh hoán vị sai thôi, cách của bác không đảm bảo hoán vị theo thứ tự đâu. Nhưng cách làm này thú vị thật, F12 chưa thấy ở đâu cả.![]()
Bookmarks