congdaoduy298

Dao Cong

Đóng góp: 1

Ngày sinh: 29/08/2000

Đăng ký: 24/10/2015

Lần đăng nhập cuối: 01/08/2016


Kết nối tài khoản

VOJ: Chưa kết nối

CODE VỀ BÀI DHTABLE2 – BẢNG THÔNG TIN ĐIỆN TỬ

A nào làm bài này chỉnh sửa giùm e cái code

const fi='TABLE.inp';
      fo='TABLE.out';
      maxn=1000;
      maxt=1000000000000000;
var f,g:text;
    n,k:integer;
    i,j,c,dem,dem1,t:int64;
    z:Longint;
    S2,S3,S4:string;
    S:ansistring;
Function sokt(x:int64):byte;
begin
sokt:=0;
While x>0 do
begin
sokt:=sokt+1;
x:=x div 10;
end;
end;

Function luythua(x:byte):int64;
begin
If x=1 then exit(10);
luythua:=luythua(x-1)*10;
end;

Function doi(x:int64):string;
begin
S4:='';
While x<>0 do
begin
str(x mod 10,S3);
S4:=S4+S3;
x:=x div 10;
end;
doi:=S4;
end;

Procedure Xuli;
var z:Longint;
begin
i:=1;
S:='';
dem:=0;j:=9;
While dem<t do
begin
dem:=dem+i*j;
inc(i);
If (j*10*i+dem)<t then
j:=10*j
else break;
end;
If (t-dem) mod i=0 then
c:=luythua(i-1)+((t-dem) div i)-1
else c:=luythua(i-1)+((t-dem) div i);
k:=0;
While k<(n+(t-dem) mod i) do
begin
S:=S+doi(c);
inc(k,sokt(c));
dec(c);
end;
If k=n then
for z:=n downto 1 do
Write(g,S[z])
else
If (t-dem) mod i=0 then begin
for z:=n downto 1 do
Write(g,S[z]);
end
else
begin
for z:=n+i-((t-dem) mod i) downto i-((t-dem) mod i)+1  do
Write(g,S[z]);
end;
end;

Begin
Assign(g,fo);
Rewrite(g);
Assign(f,fi);
Reset(f);
Readln(f,n,t);
If (n>=t) then begin
for z:=1 to t do Write(g,z);
close(g);
exit;
end
else
If (t<=9) then begin
for z:=t-n+1 to t do Write(g,z);
close(g);
exit;
end
else
Xuli;
close(f);
close(g);
end.

 

Chỉ được 77.14/100 ---------------- Mong được sự giúp đỡ !

Bài toán đếm dãy

Cho số nguyên dương n.Hãy cho biết có bao nhiêu dãy số nguyên dương có tổng các phần tử trong dãy bằng n.

Dữ liệu vào :Vào từ file count.inp chứa duy nhất một số nguyên n<=1018

Kết quả:Ghi ra file count.out một số nguyên duy nhất là số dư của kết quả tìm được khi chia cho 123456789.

VD: INPUT: 3

       OUTPUT:4

GIẢI THÍCH 

1. (1,1,1);

2.(1,2);

3.(2,1);

4.(3)