Đến nội dung

Hình ảnh

Lập trình Pascal

pascal

  • Please log in to reply
Chủ đề này có 200 trả lời

#81
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

ok minh thử xem sao thank ban nha



#82
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

Thuật toán chi số nguyên lớn cho một số k hay lắm

bạn có thể chỉnh thành nhân một số nguyên lớn với một số k không?



#83
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết


Thuật toán chi số nguyên lớn cho một số k hay lắm

bạn có thể chỉnh thành nhân một số nguyên lớn với một số k không?

ok minh code thế này có được không nha ban

var s: string; b: longint;
//nhan so nguyen lon voi so nguyen kieu longint
function phepnhan(s:string; b:longint): string;
var i: integer;
nguyen,n,so: longint;
s1,tam: string;
begin
s1:='';
nguyen:=0;
for i:=length(s) downto 1 do
begin
val(s[i],so);
n:=so*b+nguyen;
nguyen:= n div 10;
str(n mod 10,tam);
s1:=tam+s1;
end;
if nguyen>0 then
str(nguyen,tam)
else
tam:='';
phepnhan:=tam+s1;
end;
begin
readln(s);
read(b);
write(phepnhan(s,b));
readln;
readln
end.


#84
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết


 

ok minh code thế này có được không nha ban

var s: string; b: longint;
//nhan so nguyen lon voi so nguyen kieu longint
function phepnhan(s:string; b:longint): string;
var i: integer;
nguyen,n,so: longint;
s1,tam: string;
begin
s1:='';
nguyen:=0;
for i:=length(s) downto 1 do
begin
val(s[i],so);
n:=so*b+nguyen;
nguyen:= n div 10;
str(n mod 10,tam);
s1:=tam+s1;
end;
if nguyen>0 then
str(nguyen,tam)
else
tam:='';
phepnhan:=tam+s1;
end;
begin
readln(s);
read(b);
write(phepnhan(s,b));
readln;
readln
end.

 

chắc đúng rồi đó, cái bài đó nếu nhân thì sẻ k xảy ra lỗi chia cho 0! nhưng vì chưa thử làm chia nên mới dùng chia xem sao!!



#85
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

Bài này hiểu thế nào bạn nhỉ

Dãy 153

Xét dãy số U1,U2,U3,…. Được xây dựng như sau:

U1 là một số bất kì chia hết cho 3

Un= tổng lập phương các chữ số của Un-1

Chứng mình rằng dãy trên dừng lại tại số 153


Bài viết đã được chỉnh sửa nội dung bởi hocpascal: 31-08-2014 - 00:24


#86
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Bài này hiểu thế nào bạn nhỉ

Dãy 153

Xét dãy số U1,U2,U3,…. Được xây dựng như sau:

U1 là một số bất kì chia hết cho 3

Un= tổng lập phương các chữ số của Un-1

Chứng mình rằng dãy trên dừng lại tại số 153

cho vi du cai:?



#87
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

cho vi du cai:?

Tớ không có ví dụ mới khó chứ bài này và bài định lý 6174 cùng thể loại mà



#88
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Tớ không có ví dụ mới khó chứ bài này và bài định lý 6174 cùng thể loại mà

Mình nghĩ vì số 153 là một số đặc biệt, mà 1^3+3^3+5^3=153.và 153 chia hết cho 3.

Chọn 1 số chia hết cho 3 bất kỳ, rồi tổng lập phương của các chữ số thì sẻ cho số mới chia hết cho 3 (vd:ab lập phương = a^3+b^3=(a+b)(a^2-ab+b^2)  

nhưng vẫn có 1 số cái chưa giải thích đc !!



#89
hack258147

hack258147

    Binh nhất

  • Thành viên
  • 22 Bài viết

Mình nghĩ vì số 153 là một số đặc biệt, mà 1^3+3^3+5^3=153.và 153 chia hết cho 3.

Chọn 1 số chia hết cho 3 bất kỳ, rồi tổng lập phương của các chữ số thì sẻ cho số mới chia hết cho 3 (vd:ab lập phương = a^3+b^3=(a+b)(a^2-ab+b^2)  

nhưng vẫn có 1 số cái chưa giải thích đc !!

bạn nghethuat102 với hxthanh cho mình vào nhóm để giúp nhau về pascal được không

mình mới học lớp 9 chưa hiểu rõ các hàm ... lắm ,có gì hai bạn chỉ giùm mình

nếu được gửi mail cho mình là [email protected] nha



#90
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

bạn nghethuat102 với hxthanh cho mình vào nhóm để giúp nhau về pascal được không

mình mới học lớp 9 chưa hiểu rõ các hàm ... lắm ,có gì hai bạn chỉ giùm mình

nếu được gửi mail cho mình là [email protected] nha

Mấy bữa nay bạn quá hôm nay mới lên mang được ban nghethuat a`, còn bài kia để mình tìm lai đề xem thế nào đã chứ 

không giống như bài số amistrong í



#91
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

Mấy bữa nay bạn quá hôm nay mới lên mang được ban nghethuat a`, còn bài kia để mình tìm lai đề xem thế nào đã chứ 

không giống như bài số amistrong í

Bài này thuật toán gì thì được bạn nhỉ?

Bài toán: ghép số 

cho n số nguyên dương và dãy a1 đến an (n<=100), ai<=abs(109). Từ các số trên hãy tạo thành các số mới bằng cách ghép tất cả các số đã cho, tức là viết liên tiếp các số đã cho với nhau.

Ví dụ: n=4 và các số 123 124 56 90 ta có thể tạo ra các số mới sau: 1231245690, ,,,,9056124123,,, =24 số mới.

hãy tìm số lớn nhất trong các số mới ghép vừa tao.



#92
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết


Bài này thuật toán gì thì được bạn nhỉ?

Bài toán: ghép số 

cho n số nguyên dương và dãy a1 đến an (n<=100), ai<=abs(109). Từ các số trên hãy tạo thành các số mới bằng cách ghép tất cả các số đã cho, tức là viết liên tiếp các số đã cho với nhau.

Ví dụ: n=4 và các số 123 124 56 90 ta có thể tạo ra các số mới sau: 1231245690, ,,,,9056124123,,, =24 số mới.

hãy tìm số lớn nhất trong các số mới ghép vừa tao.

bạn xem họ ct này có được không nha

type mangxau=array[1..10000] of string;
var i,j,max,n: integer; a : mangxau;
 
procedure sx(var a:mangxau);
var i,j:integer; tam:string;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tam:=a[i]; a[i]:=a[j]; a[j]:=tam;
end;
end;
begin
write('nhap n=: ');readln(n);
for i:=1 to n do
readln(a[i]);
sx(a);
for i:=1 to n do
write(a[i]);
//readln;
readln
end.


#93
tanphivan1

tanphivan1

    Lính mới

  • Thành viên
  • 1 Bài viết

vậy là hàm Function dx(n:int64) khi nhận giá trị i*i mới đủ bộ nhớ hả bạn?

đúng rồi bạn


Đại lý vé máy bay giá rẻ Tân Phi Vân, Bán vé máy bay đi du học cho các bạn học sinh, sinh viên


#94
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

đúng rồi bạn

Bạn đang nói về chủ đề nào nhỉ??



#95
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết


 

bạn xem họ ct này có được không nha

type mangxau=array[1..10000] of string;
var i,j,max,n: integer; a : mangxau;
 
procedure sx(var a:mangxau);
var i,j:integer; tam:string;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tam:=a[i]; a[i]:=a[j]; a[j]:=tam;
end;
end;
begin
write('nhap n=: ');readln(n);
for i:=1 to n do
readln(a[i]);
sx(a);
for i:=1 to n do
write(a[i]);
//readln;
readln
end.

 

đúng nhưng không nên khai báo vs dữ liệu lớn thế, mảng xâu nên đến 100 thôi vì n<=100 mà??



#96
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

đúng nhưng không nên khai báo vs dữ liệu lớn thế, mảng xâu nên đến 100 thôi vì n<=100 mà??

Bạn xem bài này không dùng QHĐ có làm được không nha?

Bài 12: Dãy con chung dài nhất                       DAYCON.PAS

Cho dãy số nguyên A gồm N phần tử a1, a2, ..., aN và dãy số nguyên B gồm M phần tử b1, b2, ..., bM. Các phần tử trong một dãy số có giá trị khác nhau từng đôi một.  (1 ai, bj 2´109; 1 N 100; 1 ≤ i ≤ N; 1 M 100; 1 ≤ j ≤ M). Dãy C được gọi là dãy con của dãy A nếu dãy C nhận được từ dãy A bằng cách xóa đi một số phần tử và giữ nguyên thứ tự của các phần tử còn lại. Nếu dãy C là dãy con của dãy A và cũng là dãy con của dãy B thì dãy C được gọi là dãy con chung của hai dãy A và B. Yêu cầu: Hãy tìm dãy C là dãy con chung của hai dãy A và B sao cho số lượng phần tử của dãy C là lớn nhất. Dữ liệu vào: Cho trong file văn bản DAYCON.INP có cấu trúc như sau:

- Dòng 1:  Ghi số nguyên dương N là số lượng phần tử của dãy A.

- Dòng 2: Ghi N số nguyên là giá trị của các phần tử trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.

- Dòng 3:  Ghi số nguyên dương M là số lượng phần tử của dãy B.

- Dòng 4: Ghi M số nguyên là giá trị của các phần tử trong dãy B, các số được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra: Ghi ra file văn bản DAYCON.OUT theo cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương K là số lượng phần tử của dãy C.

- Dòng 2: Ghi K số nguyên là giá trị của các phần tử trong dãy C, các số được ghi cách nhau một dấu cách.

 Dòng 3: Ghi K số nguyên dương lần lượt là chỉ số của các phần tử trong dãy A tương ứng với các giá trị của phần tử đó trong dãy C, các số được ghi cách nhau một dấu cách.

- Dòng 4: Ghi K số nguyên dương lần lượt là chỉ số của các phần tử trong dãy B tương ứng với các giá trị của phần tử đó trong dãy C, các số được ghi cách nhau một dấu cách.

Ví dụ:

DAYCON.INP

DAYCON.OUT

6

9  3  1  12  6  15

5

3  12  7  6  15 

4

3  12  6  15

2  4   5  6

1  2   4  5



#97
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Bạn xem bài này không dùng QHĐ có làm được không nha?

Bài 12: Dãy con chung dài nhất                       DAYCON.PAS

Cho dãy số nguyên A gồm N phần tử a1, a2, ..., aN và dãy số nguyên B gồm M phần tử b1, b2, ..., bM. Các phần tử trong một dãy số có giá trị khác nhau từng đôi một.  (1 ai, bj 2´109; 1 N 100; 1 ≤ i ≤ N; 1 M 100; 1 ≤ j ≤ M). Dãy C được gọi là dãy con của dãy A nếu dãy C nhận được từ dãy A bằng cách xóa đi một số phần tử và giữ nguyên thứ tự của các phần tử còn lại. Nếu dãy C là dãy con của dãy A và cũng là dãy con của dãy B thì dãy C được gọi là dãy con chung của hai dãy A và B. Yêu cầu: Hãy tìm dãy C là dãy con chung của hai dãy A và B sao cho số lượng phần tử của dãy C là lớn nhất. Dữ liệu vào: Cho trong file văn bản DAYCON.INP có cấu trúc như sau:

- Dòng 1:  Ghi số nguyên dương N là số lượng phần tử của dãy A.

- Dòng 2: Ghi N số nguyên là giá trị của các phần tử trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.

- Dòng 3:  Ghi số nguyên dương M là số lượng phần tử của dãy B.

- Dòng 4: Ghi M số nguyên là giá trị của các phần tử trong dãy B, các số được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra: Ghi ra file văn bản DAYCON.OUT theo cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương K là số lượng phần tử của dãy C.

- Dòng 2: Ghi K số nguyên là giá trị của các phần tử trong dãy C, các số được ghi cách nhau một dấu cách.

 Dòng 3: Ghi K số nguyên dương lần lượt là chỉ số của các phần tử trong dãy A tương ứng với các giá trị của phần tử đó trong dãy C, các số được ghi cách nhau một dấu cách.

- Dòng 4: Ghi K số nguyên dương lần lượt là chỉ số của các phần tử trong dãy B tương ứng với các giá trị của phần tử đó trong dãy C, các số được ghi cách nhau một dấu cách.

Ví dụ:

DAYCON.INP

DAYCON.OUT

6

9  3  1  12  6  15

5

3  12  7  6  15 

4

3  12  6  15

2  4   5  6

1  2   4  5

chắc chịu rồi, phải dùng quy hoạch đông:)



#98
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

chắc chịu rồi, phải dùng quy hoạch đông:)

Vậy khó quá mình cũng chịu rồi còn bài này chắc thuật toán bình thường có giải được không ban?

Bài 12: 

Dãy C gọi là dãy con chung của dãy A và dãy B nếu C là dãy gồm các phần tử nằm liên tiếp trong cả A và B

Cho hai dãy số A và B, mỗi dãy đều có N phần tử( các phần tử đều nguyên dương và khong quá 1000). Yêu cầu tìm dãy C là dãy con chung của A và B mà có nhiều phần tử nhất.

 

Dữ liệu vào: từ tệp văn bản DAYCON.INP có cấu trúc:

-          Dòng 1 chứa số N(N nguyên dương và không quá 500)

-          Dòng 2: chứa N số thuộc dãy số A.

-          Dòng 3: chứa N số thuộc dãy số B.

Dữ liệu ra: đưa ra tệp văn bản DAYCON.OUT

Chứa duy nhất một số là số phần tử của dãy C thỏa mãn yêu cầu

(Trong tệp dữ liệu và hoặc ra, các số trên cùng một dòng cách nhau ít nhất một dấu cách).

Ví dụ về dữ liệu vào/ra:

DAYCON.INP

DAYCON.OUT

6

A=2 1 7 10 6 3

b=8 5 1  7  9 10

do dai bang  2 (chắc là 17)



#99
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

bài này khong đệ quy được không bạn

Cho dãy A gồm N (N<=10), và dãy số nguyên a1,,, an và một số nguyên dương k (1<k<n). hãy đưa ra một cách chia dãy số thành k nhóm mà các nhóm có tổng bằng nhau

Ví du: N=5;k=3 ; a= 1 4 6 9 10  

Các nhóm là:

1;4;6

1;9

10



#100
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Sao thấy nãn vs mấy bài này vậy trời, nghĩ hoài mà k ra@







Được gắn nhãn với một hoặc nhiều trong số những từ khóa sau: pascal

0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh