Đến nội dung

vanlong12

vanlong12

Đăng ký: 28-01-2016
Offline Đăng nhập: 06-08-2016 - 15:41
**---

#630226 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 29-04-2016 - 20:42

Thuật toán chưa triệt để,thậm chí còn chưa xét đến trường hợp :

       fsđfSdgvfd                                                      :              Sai! Nhap lai:

nè bạn,,mk nói đây là bài thuật toán tham khảo mà,,,




#630102 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 28-04-2016 - 21:19

Bài 11:  Tính tổng các số nguyên dương có trong một chuỗi.

 

Ví dụ: abcAcb90sgsd3sdsdg12sdfsdfds                  :              Tong: 105

          fsđfSdgvfd                                                      :              Sai! Nhap lai:

 

 

ĐÂY LÀ THUẬT TOÁN CỦA MK!!

 

uses crt;
var st:string;
g,i,j,k,l,n,s:integer;
begin
clrscr;
write('mhap xau:');readln(st);
i:=0;
while i<=length(st)do
begin
i:=i+1;
j:=i;
if st[j] in['0'..'9'] then
begin
while st[j] in['0'..'9'] do
begin
val(st[j],k,g);
l:=l*10+k;
writeln(k);
j:=j+1;
i:=i+1;
end;
s:=s+l;
l:=0;
end;
end;
write('tong:',s);
readln;

 

end.



#628522 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 20-04-2016 - 17:59



TÍNH TỔNG

Trên một màn hình lớn, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp đi lặp lại như thế. Mỗi người theo dõi màn hình được đề nghị tính tổng của K số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.

Viết chương trình giúp cho những người theo dõi màn hình tính được tổng như đề nghị.

Dữ liệu vào: chứa trong tệp văn bản SUM.INP gồm hai dòng

+ Dòng đầu tiên ghi ba số nguyên N, K và B, 1 £ N £100, 1 £ K £100, 1 £ B £ 109.

+ Dòng thứ hai chứa dãy số nguyên không âm a1, a2, …, aN.

Dữ liệu ra: ghi vào tệp văn bản SUM.OUT gồm một dòng chứa tổng cần tính.

Ví dụ:

SUM.INP                               SUM.OUT

5  7  154                                           24

1  2  3  4  5

ui!thucự ra nó cũm bt thui bạn ak!

đây là test của mk,,bạn xem thử..có chỗ nào k hiểu bạn có thể hỏi...

 

uses crt;
var a: array[1..1000]  of longint;
m,t,i,j,k,l,s,n,b:longint;
f:text;
begin
clrscr;
assign(f,'d:\sum.inp');
reset(f);
i:=0;
while not eof(f) do
begin
i:=i+1;
read(f,a[i]);
end;
close(f);
assign(f,'d:\sum.out');
rewrite(f);
n:=a[1];
k:=a[2];
b:=a[3];
for m:=1 to i do
a[m]:=a[m+1];
for m:=1 to i do
a[m]:=a[m+1];
for m:=1 to i do
a[m]:=a[m+1];
t:=0;l:=0;
for j:=1 to b+k do
begin
t:=t+1;
if j=b then
repeat
l:=l+1;
s:=s+a[t];
t:=t+1;
if t>n then
begin
t:=0;
t:=t+1;
end;
until l=k;
if t=n then t:=0;
end;
write(f,'tong:=',s);
close(f);
readln
end.



#628027 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 18-04-2016 - 20:51

ak...hỉu rùi




#628024 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 18-04-2016 - 20:43

nhu

 

Cái dãy đó lặp đí lặp lại .....nên ta tính được

nhug tổng đâu =24 đâu??




#627984 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 18-04-2016 - 18:50

ui!!

 

TÍNH TỔNG

Trên một màn hình lớn, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp đi lặp lại như thế. Mỗi người theo dõi màn hình được đề nghị tính tổng của K số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.

Viết chương trình giúp cho những người theo dõi màn hình tính được tổng như đề nghị.

Dữ liệu vào: chứa trong tệp văn bản SUM.INP gồm hai dòng

+ Dòng đầu tiên ghi ba số nguyên N, K và B, 1 £ N £100, 1 £ K £100, 1 £ B £ 109.

+ Dòng thứ hai chứa dãy số nguyên không âm a1, a2, …, aN.

Dữ liệu ra: ghi vào tệp văn bản SUM.OUT gồm một dòng chứa tổng cần tính.

Ví dụ:

SUM.INP                               SUM.OUT

5  7  154                                           24

1  2  3  4  5

ui!!cái ví dụ sao lại tính tổng 7 số ,,bắt đầu từ 154 mà tổng có 24 là thế nào ,,mk k hỉu!!!bạn  chỉ rõ ra thử xem....




#627140 Xâu: dãy con đúng - dãy con đúng bậc 1

Gửi bởi vanlong12 trong 14-04-2016 - 21:03

cũng có xíu sai sót nha bạn. Dữ liệu khác test đúng hết trơn, nhưng mà mình test thử aaaaa sẽ bị sai -> dãy con đúng, và đúng bậc 1 phải là 5 hết, nhưng ctrinh dãy con đúng là 5, đúng bậc 1 là 6 - bạn giúp vậy là tốt lắm rồi! thanks.. thanks....bạn nha..

ukm,,mk wen,cai phần đó...




#626909 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 21:44

uk

 

Nếu vậy thì phải sửa lại k=sqrt(length(s)), hay gì đó

Rồi chạy đến k thì mới phù hợp.Chứ nếu mà nhập n rồi chạy đến n và gán gt cho mảng thì  ko được !

m,,chẳng wa tau làm vội,,,mà mi thử coi ,,sua theo cach đó hắn có được k




#626900 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 21:35

Thế này ko đc bạn ạ :)

n là là số dãy con chia được ,được chia từ xâu ban đầu chứ ko phải nhập từ bàn phím.

thì minh dung sqrt(length(x)) là được,,nó cum jung nhau...




#626893 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 21:27

Sắp xếp ntn ,nói rõ ra đi.Không thì viết chương trình sắp xếp như trên cũng được . 

lam kiểu này nè
 
uses crt;
var a:array[1..10,1..10]of string;
b:array[1..100]of string;
var c,m,n,t,i,j,k,l,s:integer;
st,vt:string;
begin
clrscr;
write('nhap xau:');readln(st);
write('nhap n:');readln(n);
k:=1;  m:=0;
for i:=1 to n do
for j:=1 to n do
begin
a[j,i]:=st[k];
k:=k+1;
end;
s:=0;
write('mang la:');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
readln
end.



#626884 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 21:10

bài

 

Xin biếu 1 bài:

 

Câu 10: (7.0 điểm) Cho một chuỗi gồm n2 ký tự. Người ta cắt chuỗi từ trái sang phải thành n chuỗi con, mỗi chuỗi con có đúng n ký tự. Viết mỗi chuỗi con thành một cột, ta có một bảng gồm n hàng và n cột ký tự.

Yêu cầu: Viết chương trình nhập vào một chuỗi gồm n2ký tự (4 £  n2£ 255).

a) In ra màn hình các hàng có tổng mã ASCII của các ký tự là lớn nhất.

b) In giá trị tổng ở câu a ra màn hình.

Ví dụ:

Nhập chuỗi

abcdefghi

-------------

Bảng sắp xếp:

a d g

b e h

c f  i

------

Kết quả

a) c f  i

b) 306

 bài này theo tau nên dung ma trân vuông,,,

sau đó sap xếp theo thứ tự nhu trên 

rui lấy số thứ tự trong bảng mã ascii

cộng lai ,,rùi so sanh với cái ban đầu,,nếu thây lon hơn, thì gán cái ban

đầu bang nó,,,là tim ra đươc,,

nhung còn 1 chỗ tau k hiu sao mà,,,lấy ord(a[i,j]),,nó lai k dược,,,k bít là vấn đề nó nằm chỗ

nào nữa




#626830 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 20:11

thì thế ,

 

Không phải vậy !

Vd:Xâu:  abcdefghi

thì mình chuyển a,b,c theo hàng dọc ,d,e,f theo hàng dọc,g,h,i theo hàng dọc 

=> 

a d g

b e h

c f  i

,,thì thế mới nói hàng doc g,h,i  ,,có tổng lớn nhất chứ




#626812 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 19:51

Xin biếu 1 bài:

 

Câu 10: (7.0 điểm) Cho một chuỗi gồm n2 ký tự. Người ta cắt chuỗi từ trái sang phải thành n chuỗi con, mỗi chuỗi con có đúng n ký tự. Viết mỗi chuỗi con thành một cột, ta có một bảng gồm n hàng và n cột ký tự.

Yêu cầu: Viết chương trình nhập vào một chuỗi gồm n2ký tự (4 £  n2£ 255).

a) In ra màn hình các hàng có tổng mã ASCII của các ký tự là lớn nhất.

b) In giá trị tổng ở câu a ra màn hình.

Ví dụ:

Nhập chuỗi

abcdefghi

-------------

Bảng sắp xếp:

a d g

b e h

c f  i

------

Kết quả

a) c f  i

b) 306

cái vi du,,hinh như g,h,i moi la hang có tong lon nhat chứ




#626809 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi vanlong12 trong 12-04-2016 - 19:42

 

Bài 11: (7 điểm) TỔNG CÁC SỐ FIBONACI

         Dãy Fibonaci là dãy gồm các số: 1, 1, 2, 3, 5, 8, .... được xác định bởi công thức sau:

                        F1=1, F2=1, Fi=Fi-1+Fi-2 với i>2.

         Em hãy biểu diễn một số tự nhiên N thành tổng của ít nhất các số Fibonaci khác nhau.

         Dữ liệu vào: cho file FIBO.INP chứa số N (N ≤ 2000000000)         

Dữ liệu ra: ghi ra file FIBO.OUT biểu diễn số N thành tổng của ít nhất các số Fibonaci khác nhau.

Ví dụ: 

           FIBO.INP

           129

           FIBO.OUT

           129 = 89 + 34 + 5 + 1

Hoặc
              FIBO.INP
           8
            FIBO.OUT
            8=8

 

dể đấy cho mk,,,bạn cứ lam thế này

 

 

 

uses crt;
var
f:text;
 a,b,c:array[1..100]of integer;
i,j,k,l,n,s:integer;
function fi(x:integer):boolean;
var f,f1,f2,i:integer; kt:boolean;
begin
clrscr;
     f:=0;
     f1:=1;
     kt:=false;
     for i:=1 to x do
     begin
     f2:=f1+f;
     f:=f1;
     f1:=f2;
     if f2=x then kt:=true;
     end;
     fi:=kt;
end;
begin
assign(f,'d:\fi.inp');
reset(f);
while not eof(f) do
read(f,n);
close(f);
assign(f,'d:\fi.out');
rewrite(f);
for i:=n downto 1 do
if  fi(i) then
begin
l:=l+1;
a[l]:=i;
end;
s:=0;
write(f,n,'=');
for j:=1 to l do
begin
s:=s+a[j];
if s>n then s:=s-a[j]
else
begin
if s=n  then
begin
write(f,a[j]);
break;
end;
if s<n then
begin
write(f,a[j]);
write(f,'+');
end;
end;
end;
close(f);
readln
end.



#626808 Xâu

Gửi bởi vanlong12 trong 12-04-2016 - 19:36

o,,!!anh thu het rui chu em oi,,ok tat,,,tap doc hiu van ban di la vua rui,,,hehe :luoi: